Título: Enviar mensaje de una ventana a otra en C# Visual Studio Publicado por: MTH1695 en 30 Agosto 2019, 03:33 am Buenas noches, quisiera saber cómo puedo enviar un mensaje de un TextBox desde mi ventana 1 a otro TextBox de mi ventana 2 haciendo click en un botón. Estoy programando en Visual Studio. WPF. c#.
Usando la siguiente programación logré enviar el mensaje, pero al hacerlo con "Show" se genera nuevamente la ventana 2 y yo lo que busco es que se imprimar sin necesidad de abrir la ventana nuevamente. private void Enviar1_Click(object sender, RoutedEventArgs e) { Window1 f1 = new Window1(); f1.Nombre1.Text = Equipo1.Text; f1.Show(); } Nota: "Nombre1" y "Equipo1" son los nombres de los dos TextBox. Gracias! Título: Re: Enviar mensaje de una ventana a otra en C# Visual Studio Publicado por: ThunderCls en 16 Octubre 2019, 20:17 pm Estas creando un nuevo objeto de Window1 cada vez que envias el mensaje, lo que hace que se cree una nueva ventana. Para pasar "datos" de un formulario (clase) a otro tienes varios metodos:
1- Simplemente create un property en Window2 (clase 2) y relaciona las clases con una variable en Window1 (clase 1) que contenga la instancia de Window2 (clase 2) para que puedas acceder al objeto y sus metodos. Código
Cuando vayas a crear una instancia de Window2 desde Window1 recuerda guardar la referencia en tu variable window2. Luego desde Window1 cuando necesites modificar el mensaje solo necesitas usar tu instancia e invocar el atributo de Window2 Código
Y luego desde Window2 solo necesitas asignar dicho atributo a tu control cada vez que lo desees Código
2- Una segunda opcion pudiera tambien ser que simplemente te crees una version del constructor de tu Window2 con los parametros adicionales que desees Código
3- Create variables publicas/estaticas en tu Window1 y accedelas desde Windows2 cada vez que desees |