Yo lo he tenido que hacer para iniciar el formulario con algun dato.
Mi solucion es crear en el formulario un procedimiento del tipo, por ejemplo:
Public Sub DatosIni(dato1, dato2, ...)
Entonces despues del Form1.Show,
Form1.DatosIni(x,y,...), así puedes mandarle al formulario multitud de datos, arrays, etc.
Igualmente para averiguar datos de cualquier otro formulario.
Un saludo.