none
Llamar desde Form1 a Form2 y pasar datos al Form1 desde el Form2 RRS feed

  • Pregunta

  • Creé recientemente una aplicación de escritorio para una pequeña empresa. La misma sirve para gestionar operaciones básicas de compra, venta e inventarios. El problema que surge es que en VS 2017 no me permite pasar datos de un form a otro de la forma normal (haciendo una instancia al formPrincipal y pasando como parámetros los valores que se encuentran en el formSecundario). Alguien me puede dar una mano? Existe otra forma QUE NO SEA usando constructores y mucho menos poniendo los controles en PUBLIC.No hay texto alternativo automático disponible.No hay texto alternativo automático disponible.


    hergro1987

    jueves, 5 de julio de 2018 1:07

Respuestas

  • Deleted
    • Marcado como respuesta Hergro1987 jueves, 5 de julio de 2018 15:02
    jueves, 5 de julio de 2018 1:55
  • Hola Alberto.

    Es exactamente lo que hice. Por alguna razón con VS2017 no se puede hacer más la comunicación entre clases de esta forma. Los datos quedan asignados a la propiedad Text del control en cuestión, pero no se muestran.  Como solución encapsulé los datos que se debían enviar desde el form2 al form1, eliminé el metodo SetDatos(string texto) y creé uno nuevo en el form1 en el que se hacia la instancia al form2 y luego de que cerrara éste (el form2) le asignaba a los controles del form1 los valores encapsulados del form2.

    Esa es la solución que utilicé, pero también es válida la que propuso Walter más arriba.

    Gracias por su pronta respuesta.

    Saludos.


    hergro1987

    • Marcado como respuesta Hergro1987 jueves, 5 de julio de 2018 15:08
    jueves, 5 de julio de 2018 15:07

Todas las respuestas

  • Deleted
    • Marcado como respuesta Hergro1987 jueves, 5 de julio de 2018 15:02
    jueves, 5 de julio de 2018 1:55
  • Tal como lo tienes, parece correcto, y en teoría debería funcionar. No hay ninguna razón que salte a la vista por la que tu código deba fallar en el VS 2017.

    Cuando pasan estas cosas (el programa no funciona pero no se encuentra el error leyendo el código a simple vista), se recurre a utilizar el debugger. Pon un punto de ruptura y sigue la ejecución paso a paso examinando los valores de las variables en cada momento hasta localizar el punto exacto en el que los valores o el comportamiento del programa difieren de los que esperabas. Una vez localizado ese punto exacto, si no resulta evidente cuál es el problema, ponnos aquí los detalles acerca de tus observaciones y trataremos de determinar qué puede estar pasando.

    jueves, 5 de julio de 2018 6:22
    Moderador
  • Gracias Walter.

    Excelente solución.


    hergro1987

    jueves, 5 de julio de 2018 15:02
  • Hola Alberto.

    Es exactamente lo que hice. Por alguna razón con VS2017 no se puede hacer más la comunicación entre clases de esta forma. Los datos quedan asignados a la propiedad Text del control en cuestión, pero no se muestran.  Como solución encapsulé los datos que se debían enviar desde el form2 al form1, eliminé el metodo SetDatos(string texto) y creé uno nuevo en el form1 en el que se hacia la instancia al form2 y luego de que cerrara éste (el form2) le asignaba a los controles del form1 los valores encapsulados del form2.

    Esa es la solución que utilicé, pero también es válida la que propuso Walter más arriba.

    Gracias por su pronta respuesta.

    Saludos.


    hergro1987

    • Marcado como respuesta Hergro1987 jueves, 5 de julio de 2018 15:08
    jueves, 5 de julio de 2018 15:07