Se sul Form2 hai scritto
dim cl as new class1 la parolina
new serve proprio per istanziare un nuovo oggetto, ed è quindi ovvio, anche se l'hai chiamato
cl come su Form1, ma sono due istanze diverse, ovvio che non puoi scambiare i dati.
Su Form2 correggi in
public cl as class1 in modo da definire la variabile
cl di tipo
class1 ma non crea un nuovo oggetto, ed è visibile anche da fuori.
Quando premi button1 passi a Form2 il riferimento all'oggetto cl in modo che Form2 ci possa accedere
Routine button1_click:
Dim frm = New Form2 ' istanzo Form2
frm.cl = cl ' passo il riferimento di cl
frm.ShowDialog(Me) ' chiamo Form2
' ....... faccio eventuali altre cose
frm.Dispose() ' chiudo Form2
Dentro Form2 hai accesso a cl senza problemi
La soluzione che ti ho proposto è molto semplificata e serve solo per farti capire il concetto, la soluzione ottimale ovviamente ha bisogno di altre righe di codice, ma intanto inizia da qui
Sergio