Visual Basic.NET - Devolver valores de un form a otro

 
Vista:

Devolver valores de un form a otro

Publicado por javis (2 intervenciones) el 24/08/2007 18:10:52
Muy buenas a todos, soy nuevo con el vb .net y me gustaria ver si me podeis hechar una mano.

Pos bien tengo una pantalla que cuando picas encima de un textbox pues se abre otra encima en modo modal. En esa nueva pantalla tengo un Datagrid que carga unos datos que le paso al evento new desde la pantalla que lo llama.

Lo que quiero es que cuando el usario haga doble clic sobre un registro del datagrid se cierre la pantalla y cargar esos datos en la pantalla que realizaba la llamada o que me devuelva el numero de linea que selecciono.

No se si me explique bien. Bueno ya me dicen.

UN saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Devolver valores de un form a otro

Publicado por Juan Alvarez (3 intervenciones) el 27/08/2007 17:20:03
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

Nota: esto lo puse en otra parte del mismo foro, espero que igual me explique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar