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
class Window1 { private Window2 window2; // ... } class Window2 { public string Mensaje { get; set; } // ... }
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
window2 .Mensaje = "Nuevo mensaje";
Y luego desde Window2 solo necesitas asignar dicho atributo a tu control cada vez que lo desees
Código
Textbox1.Text = Mensaje;
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
class Window2 { private string _mensaje; public Window2 (string mensaje) : this () { // haz lo que quieras con tu mensaje } // ... }
3- Create variables publicas/estaticas en tu Window1 y accedelas desde Windows2 cada vez que desees