none
problema con traspaso de dato de form3 a form2 RRS feed

  • Pregunta

  • Buenas, tengo el siguiente problema, tengo un form principal o padre, el cual posee un TextBox y un boton "calcular", el cual al ser presionado abre un nuevo form2 (hijo), este form posee 2 TextBox y 2 botones calcular, presiono el boton calcular principal y hace el calculo y ademas traspasa el dato al TextBox del form principal o padre. hasta aqui todo correcto. de hecho adjunto codigo:

    If
    IsNumeric(TextBox1.Text)
    And IsNumeric(TextBox2.Text) And IsNumeric(TextBox3.Text) ThenTextBox4.Text = CInt(TextBox1.Text) + CInt(TextBox2.Text) + CInt(TextBox3.Text)Form1.TextBox2.Text = CInt
    (TextBox4.Text)
    End
    If

    Ahora viene el problema, como les decia el form2(hijo) posee 2 botones de calculo, el segundo boton de calculo abre un nuevo form 3, el cual posee 2 Textbox y un boton calcular. al accionarlo hace el calculo pero ademas de realizar el calculo quiero pasar el resultado a un Textbox del formulario 2, lo cual no me sale de ninguna manera, el codigo deberia ser algo asi segun yo pero no me funciona :

    If

    IsNumeric(TextBox1.Text) And IsNumeric(TextBox2.Text) And IsNumeric(TextBox3.Text) ThenTextBox4.Text = CInt(TextBox1.Text) + CInt(TextBox2.Text) + CInt(TextBox3.Text)
    Form2.TextBox1.Text =
    CInt(TextBox4.Text)
    End If
    En otras palabras tras apretar un boton "calcular" quiero pasar un valor del form3 al form2, en el form2 apreto otro boton "calcular" y pasar un dato del form2 al form1 (esto ultimo lo puedo hacer), pero del form3 al form2 no puedo. agradeceria su ayuda
    gracias
    martes, 19 de mayo de 2009 5:51

Respuestas

  • hola

    para pasar variables de un formulario al de atras te recomiendo usar variables estaticas que sean visibles para toda la aplicacion. por ejemplo si estas utilizando visual basic.net puedes agregar un archivo modulo y en este definir la variable como static y puedes acceder a el valor contenido en esa variable desde cualquier sitio, por otro lado si estas utilizando c# puedes declarar la variable static en la clase program y la inicializas alli, para poder acceder al valor de esta variable escribe Program.miVariable. Ojala te sirva

    Mucha suerte
    Steven Sotelo MCTS - Microsoft Certified Technology Specialist http://adsicolombia.blogspot.com/
    jueves, 21 de mayo de 2009 1:53

Todas las respuestas

  • Si en

    Form2.TextBox1.Text = CInt (TextBox4.Text)

    Si en Form2 te refieres a el nombre de la clase no te va a funcionar. Deberías referirte al nombre de la variable tipo Form2.


    Colabora con el foro: Si el mensaje te es de utilidad márcalo como respuesta.

    Toni Recio

    MVP - MCTS Windows Forms

    Web: http://www.tonirecio.com


    martes, 19 de mayo de 2009 10:45
    Moderador
  • Toni, tampoco funciona...de hecho googleando encontre algunas respuestas q decian que no se puede hacer.
    se supone que son 3 form, form1(padre) form2(hijo) form3 (hijo del hijo y nieto del padre), y por lo que he leido googleando no se puede pasar variables del hijo del hijo (form3) al hijo (form2) pero si se puede (lo he hecho) del hijo (form2) al padre (form1). gracias de todas maneras.
    miércoles, 20 de mayo de 2009 20:25
  • hola

    para pasar variables de un formulario al de atras te recomiendo usar variables estaticas que sean visibles para toda la aplicacion. por ejemplo si estas utilizando visual basic.net puedes agregar un archivo modulo y en este definir la variable como static y puedes acceder a el valor contenido en esa variable desde cualquier sitio, por otro lado si estas utilizando c# puedes declarar la variable static en la clase program y la inicializas alli, para poder acceder al valor de esta variable escribe Program.miVariable. Ojala te sirva

    Mucha suerte
    Steven Sotelo MCTS - Microsoft Certified Technology Specialist http://adsicolombia.blogspot.com/
    jueves, 21 de mayo de 2009 1:53
  • Saludos

    Yo tube un caso similar y lo resolvi usando una clase en donde declaro solo variables de tipo Public Shared, esta declaracion, de las variables te permite acceder a ellas desde cualquier lugar o formulario de tu proyecto. En mi caso tengo un formulario donde el usuario se loguea, en el login name solo recibe el nombre de usuario, una vez que le doy click al boton acceder, capturo el valor de mi textbox en una variable de tipo "PUBLIC SHARED" llamada logueo, cuando se cierra mi formulario de loguin, en el evento load de mi formulario padre, verifico si fue presionado el boton acceder, si paso el metodo donde compruba que es un usuario autorizado para ingresar en el sistema, obtengo el nombre de usuario de mi variable y con ese dato abro un metodo final en donde mando a buscar el nombre y apellido del usuario actual y lo muestro en un label de mi formulario padre.

    Espero que te sea de ayuda mi solucion, al menos a mi me funciono, aunque quienes programamos aplicaciones grandes, sabemos que no es una solucion muy tecnica pero bajo ciertas circunstancias es de utilidad hacer cosas similares.
    viernes, 22 de mayo de 2009 1:37