Paso de información entre formularios
Publicado por derfel (1 intervención) el 04/10/2008 13:23:13
Hola a todos!
Soy novato y todo lo que sé sobre programación lo he auto-aprendido, así que tengo algunas lagunillas. Y una de ellas os la planteo a ver si me podeis ayudar.
He creado un ejemplo pequeño para que veais el error que se me produce.
Si creamos un nuevo proyecto (muy simple) con tres formularios (Form1, Form2 y Form3).
En el primero ponemos una TextBox (TextBox1) y un botón.
El código del evento click del botón debe hacer que se cargue el segundo formulario. Para eso yo pongo de código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim formulario2 As New Form2()
formulario2.Show()
End Sub
En el segundo formulario (Form2) hacemos exactamente lo mismo. Se coloca una caja de texto (TextBox1) y otro botón.
En el evento de click del botón se pone lo mismo que en caso anterio, pero ahora para mostrar el tercer formulario.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim formulario3 As New Form3()
formulario3.Show()
End Sub
Por último, en el último formulario (Form3) colocamos DOS cajas de texto y un botón, de tal forma que al darle al botón queremos que la primera caja de texto de Form3 tome el valor del TextBox1 de Form1 y la segunda tome el valor del TextBox1 de Form2.
Para ello, en el evento click del botón de Form3 coloco el siguiente código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Primer valor del formulario principal
Me.TextBox1.Text = Form1.TextBox1.Text
'Segundo valor del formulario secundario
Me.TextBox2.Text = Form2.TextBox1.Text
End Sub
Pues una vez hecho esto, podeis comprobar como no funciona.
1º-Si se inicia el programa sale Form1.
2º-Metes algo en la caja de texto que hay.
3º-Pulsas el botón para que se cargue Form2.
4º-Metes algo distinto en la caja de texto de Form2.
5º-Pulsas el botón para que se cargue Form3.
6º-Pulsas el botón para que se carguen las cajas de texto con lo introducido anteriormente.
Como vereis, sólo se carga bien la primera caja de texto. Pero la segunda nada.
¿Por qué ocurre esto? ¿Cómo puedo solucionarlo?
Por adelantado, muchas gracias por vuestra ayuda.
Soy novato y todo lo que sé sobre programación lo he auto-aprendido, así que tengo algunas lagunillas. Y una de ellas os la planteo a ver si me podeis ayudar.
He creado un ejemplo pequeño para que veais el error que se me produce.
Si creamos un nuevo proyecto (muy simple) con tres formularios (Form1, Form2 y Form3).
En el primero ponemos una TextBox (TextBox1) y un botón.
El código del evento click del botón debe hacer que se cargue el segundo formulario. Para eso yo pongo de código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim formulario2 As New Form2()
formulario2.Show()
End Sub
En el segundo formulario (Form2) hacemos exactamente lo mismo. Se coloca una caja de texto (TextBox1) y otro botón.
En el evento de click del botón se pone lo mismo que en caso anterio, pero ahora para mostrar el tercer formulario.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim formulario3 As New Form3()
formulario3.Show()
End Sub
Por último, en el último formulario (Form3) colocamos DOS cajas de texto y un botón, de tal forma que al darle al botón queremos que la primera caja de texto de Form3 tome el valor del TextBox1 de Form1 y la segunda tome el valor del TextBox1 de Form2.
Para ello, en el evento click del botón de Form3 coloco el siguiente código:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Primer valor del formulario principal
Me.TextBox1.Text = Form1.TextBox1.Text
'Segundo valor del formulario secundario
Me.TextBox2.Text = Form2.TextBox1.Text
End Sub
Pues una vez hecho esto, podeis comprobar como no funciona.
1º-Si se inicia el programa sale Form1.
2º-Metes algo en la caja de texto que hay.
3º-Pulsas el botón para que se cargue Form2.
4º-Metes algo distinto en la caja de texto de Form2.
5º-Pulsas el botón para que se cargue Form3.
6º-Pulsas el botón para que se carguen las cajas de texto con lo introducido anteriormente.
Como vereis, sólo se carga bien la primera caja de texto. Pero la segunda nada.
¿Por qué ocurre esto? ¿Cómo puedo solucionarlo?
Por adelantado, muchas gracias por vuestra ayuda.
Valora esta pregunta


0