In VB.NET, ciascun form è rappresentato da una classe; le classi definiscono le caratteristiche e il comportamento del form, dei veri e propri modelli di cui puoi creare istanze, cioè oggetti che realizzano in modo concreto quel modello.

Per fare un'analogia, è quasi lo stesso legame che c'è tra il progetto di un'automobile e l'automobile stessa, appena uscita dalla fabbrica; il progetto definisce caratteristiche e funzionalità, mentre il prodotto finito costituisce un'istanza, cioè un oggetto direttamente utilizzabile avente le caratteristiche e le funzionalità previste dal modello.

La premessa è importante per capire che la creazione di un form a livello di classe, cioè di modello, non implica che essa sia direttamente utilizzabile: occorre crearne un'istanza. A differenza di VB6, tuttavia, potresti creare migliaia e migliaia di form identici, tutti della stessa classe, che funzionano esattamente nel modo stabilito dalla classe stessa, senza dover fare "copia e incolla" del codice: senza dubbio un'opportunità irrealizzabile con VB6.

Tornando al problema, ciascun controllo che posizioni all'interno del tuo form viene inserito nella classe e ne entra a far parte; a seconda della visibilità che attribuisci, il controllo è identificabile da form esterni attraverso il nome e puoi quindi manipolarne le proprietà.

Supponiamo che tu abbia due classi di form, MainForm e SecondForm, e che tu voglia copiare il contenuto di una TextBox che è posizionata nel primo form all'interno di una casella di testo che si trova nel secondo, dopo aver visualizzato quest'ultimo, magari alla pressione di un pulsante del form principale.

Nel metodo incaricato di gestire l'evento Click sul pulsante, potresti scrivere un codice simile al seguente:
codice:
Dim frm As SecondForm
frm = New SecondForm()
frm.SecondTextBox.Text = Me.FirstTextBox.Text
frm.ShowDialog
Brevemente, si dichiara una variabile adatta a contenere un riferimento ad un oggetto SecondForm; tale oggetto viene creato attraverso il nome della classe preceduto dalla parola chiave New. In seguito, si imposta la proprietà Text del controllo con nome SecondTextBox sul form secondario in modo che sia identica alla proprietà Text del controllo FirstTextBox presente sull'istanza corrente di MainForm. Infine, richiamando il metodo ShowDialog del form secondario, la finestra viene visualizzata.

VB.NET e il .NET Framework in se introducono concetti interessanti ma molto vasti...io suggerisco sempre di prendere un libro o di documentarsi su (quasi) tutto prima di iniziare a lavorarci, altrimenti un apprendimento fatto in questo modo sarà inefficace e si cercherà solamente di riprodurre in VB.NET quello che si fa normalmente in VB6, ottenendo solamente un degrado di prestazioni e soprattutto tralasciando tutti i vantaggi che la nuova tecnologia comporta. Credimi!!

Ciao!