Ho già cercato delle guide ma non ho trovato quella che mi spiega bene la struttura!...
Le funzioni e le logiche che si possono fare all'interno di una struttura le conosco nel campo PLC (il mio alvoro) le uso quotidianamente... so bene cosa siano array pointer ecc... ma non ho ben afferrato la struttura del VB net!... 
Io l'applicazione che di cui parlo lo già creata ma ho paura che non sia fatta con una struttura decente!... è funzionante niente da dire ... e non da errori ma non sono sicuro sia corretta!... faccio un esempio:
Questa è la form1:
composta da: 
- 1 pulsante di uscita
- 1 pulsante accedi
- 2 campi text label per l'immissione di user ID e psw
- 1 progres bar per indicare il tempo rimanente prima della chiusura del programma se non vengono inserite le credenziali
- 1 label di avviso utente non autorizzato
	codice:
	
Public Class Form1
    Public conteggio As Integer
    Public Const incremento As Integer = +1
    Public login_utente As String
    '______Caricamento form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Const cripta_testo As Char = "*"
        TextBox1.PasswordChar = cripta_testo
        TextBox2.PasswordChar = cripta_testo
    End Sub
    '_______form1______Pulsante chiudi
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        End
    End Sub
    '_______form1______Pulsante accedi
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim utente() As String = {"paperina", "pluto", "paperino"}
        Dim password() As String = {"123456", "1234567", "12345678"}
        Dim testo_utente As String = TextBox1.Text
        Dim testo_password As String = TextBox2.Text
        Dim autorizzato As Single = False
        Select Case testo_utente + testo_password
            Case = utente(0) + password(0)
                autorizzato = True
                login_utente = utente(0)
            Case = utente(1) + password(1)
                autorizzato = True
                login_utente = utente(1)
            Case = utente(2) + password(2)
                autorizzato = True
                login_utente = utente(2)
            Case Else
                Label6.Visible = True
                Timer2.Start()
        End Select
        '______Accesso autorizzato______
        If autorizzato = True Then
            Timer1.Stop()
            Me.Hide()
            Dim ricerca_password As New Ricerca_Password
            ricerca_password.Show()
        End If
    End Sub
    '_____Timer_inserzione credenziali______
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        ProgressBar1.Increment(-1)
        If ProgressBar1.Value = 0 Then
            End
        End If
    End Sub
    '_____Timer_scomparsa_label_"non autorizzato"_____
    Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
        conteggio = 0 + conteggio + incremento
        If conteggio = 50 Then
            Label6.Hide()
            Timer2.Stop()
            conteggio = 0
        End If
    End Sub
End Class
 
Questa è la form 2:
composta da: 
- 1 pulsante di uscita
- 1 pulsante per copiare la psw selezionata
- 1 list box che al caricamento della form preleva i dati da un array
- 1 label di benvenuto
- 1 list box dove "dovrebbe filtrarmi i nomi con "per ora" la lettera ""f"" in maniera da poi suddividere in pagine separate i nomi secondo la prima lettera (ordine alfabetico) ma la funzione che ho provato per ora mi filtra tutte le stringhe che contengono all'interno la lettera..
	codice:
	Public Class form2
    Public nome(10) As String
    Public psw(10) As String
       '______form2 pulsante chiudi_____
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        End
    End Sub
    '______Caricamento ricerca password_____
    Private Sub form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim maschio_femmina As String
        Timer1.Start()
        Select Case Form1.login_utente
            Case "paperina (femmina)"
                maschio_femmina = "a "
            Case "pluto", "paperino"
                maschio_femmina = "o "
        End Select
        Label3.Text = "Benvenut" & maschio_femmina & Form1.login_utente & " !!!!"
        Label6.Text = Form1.login_utente
        '______archivio_______
        nome(0) = "google"
        nome(1) = "facebook"
        nome(2) = "wifi ufficio"
        nome(3) = "wifi casa"
        nome(4) = "antifurto"
        nome(5) = "knx"
        nome(6) = "forum a"
        nome(7) = "forum b"
        nome(8) = "forum c"
        nome(9) = "forum d"
        psw(0) = "password google"
        psw(1) = "password facebook"
        psw(2) = "password wifi ufficio"
        psw(3) = "password wifi casa"
        psw(4) = "password antifurto"
        psw(5) = "password knx"
        psw(6) = "password forum a"
        psw(7) = "password forum b"
        psw(8) = "password forum c"
        psw(9) = "password forum d"
        '_____________________________
        '_____importo gli elementi dell'array nella list box 1_____
        Dim i As Integer
        For i = 0 To 9
            ListBox1.Items.Add(nome(i))
        Next
        '______filtraggio elementi array______
        Dim testo As String
        Dim k As Integer
        Dim strSearch As String = "f"
        Dim pointer As Integer
        For k = 0 To 9
            testo = (nome(k))
            Dim indicePrimaOccorrenza As Integer = testo.IndexOf(strSearch)
            If indicePrimaOccorrenza = -1 Then
                pointer += 1
            Else
                ListBox2.Items.Add(nome(k))
            End If
        Next
        '_____________________________________
    End Sub
    '_____Timer scomparsa benvenuto______
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Form1.conteggio = 0 + Form1.conteggio + Form1.incremento
        If Form1.conteggio = 70 Then
            Label3.Hide()
            Timer1.Stop()
            Form1.conteggio = 0
        End If
    End Sub
    '______pulsante di copia password_____
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        My.Computer.Clipboard.SetText(TextBox2.Text)
    End Sub
    '_____selezione nome archivio da listbox 1_____
    Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim n_selezione As Int32
        n_selezione = ListBox1.SelectedIndex
        TextBox2.Text = psw(n_selezione)
    End Sub
End Class
 
è ancora da completare ... è appena all'inizio ... per quel poco che fa riesco a farla funzionare ... però non son sicuro di aver fatto la cosa giusta .... tipo:
l'array creato in form2 è giusto crearlo li? ... diciamo che funziona ... ma una volta compilato l'eseguibile io questo programma non potrò fare altro che avviarlo e copiare le psw che mi visualizzerà ... ma non potrò mai aggiungerne.... per aggiungerne immagino che questo array debba stare da qualche altra parte...?