Para pasar parámetros, o modificar sus propiedades de objetos de un formulario a otro como se hacia anteriormente en visual Basic 6 o 5 de un formulario a otro, donde solo era ponerle el nombre del formularios en seguida el punto y continuando con el nombre de objeto y después el nombre de la propiedad o evento o etc
Ejemplo
Supóngase que tengo en visual Basic 5 o 6, dos formularios Form1 y form2
Cada uno de estos con una caja de texto (text1) y digamos un botón cada uno (Command1)
Suponiendo el ejemplo de que estoy en el form1, pero quiero modificar el text1 de form2, esto se haría así:
Private Sub Command1_Click() ‘Boton del form1
Form2.Text1.Text=”Texto desde el form1”
Form2.Show
End Sub
Igual seria desde el form2 para modificar el text1 de form1
Private Sub Command1_Click() ‘Boton del form2
Form1.Text1.Text=”Texto desde el form2”
Form1.Show
End Sub
Pero todo lo anterior es muy fácil desde Visual Basic 5 o 6, pero para net 2003 es diferente
Y yo o e echo de la siguiente manera
Supóngase los mismo formularios y cajas de texto del ejemplo anterior
Pero para empezar tenemos que tener en nuestro proyecto un modulo, como por ejemplo lo era en VB5 o VB6 ‘modulo.bas’ ahora en Visual Net ‘Module1.vb’ y aquí se harán las declaraciones
‘ todo esto va en el modulo
Public Ventana1 As Form1 = New Form1
Public Ventana2 As Form2 = New Form2
‘Y agregamos el un procedimiento llamado ‘sub()’
‘Por ejemplo
Sub main()
Ventana1.ShowDialog() ‘notese la diferencia, llamamos ventana1 y no a Form1, si me explico
End Sub
‘hasta aquí termina lo que va en el modulo
Obviamente para que esto funcione el objeto inicial no va a ser form1 y ni form2, solo sera el main(), si esta claro???? Y esto lo cambian en propiedades del proyecto, ya es mucha explicación
Y este es el codigo de cada boton de cada formulario
‘Para el form 1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Ventana2.TextBox1.Text = ”Texto desde el form1”
Ventana2.Show()
End Sub
‘Para el form 2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Ventana1.TextBox1.Text = ”Texto desde el form2”
Ventana1.Show()
End Sub
Espero les quede claro.
Pero por si no, notese la diferencia mandamos llamar a ventana1 en lugar de form1, y así sucesivamente, y esto es por que declaramos variables publicas de tipo formulario, para de esta manera poderlas utilizar como si fuera visual Basic 5 o 6
Y para Visual Basic net 2005 ya cambio esto, pero ya es más fácil