2009-06-10 13 views

Respuesta

14

Si está intentando usar WinForms, puede implementar un evento personalizado en su formulario "secundario". Puede hacer que ese evento se dispare cuando se hace clic en el botón en su formulario "secundario".

Su formulario "principal" luego escucharía el evento y manejaría su propia actualización de TextBox.

public class ChildForm : Form 
{ 
    public delegate SomeEventHandler(object sender, EventArgs e); 
    public event SomeEventHandler SomeEvent; 

    // Your code here 
} 

public class ParentForm : Form 
{ 
    ChildForm child = new ChildForm(); 
    child.SomeEvent += new EventHandler(this.HandleSomeEvent); 

    public void HandleSomeEvent(object sender, EventArgs e) 
    { 
     this.someTextBox.Text = "Whatever Text You Want..."; 
    } 
} 
1

Aproximadamente; la única forma debe tener una referencia a algún objeto subyacente que contiene el texto; este objeto debe activar un evento en la actualización del texto; el TextBox en otra forma debería tener un delegado suscribiéndose a ese evento, que descubrirá que el texto subyacente ha cambiado; una vez que se ha informado al delegado de TextBox, el TextBox debe consultar el objeto subyacente para obtener el nuevo valor del texto y actualizar el TextBox con el nuevo texto.

0

Asumiendo WinForms;

Si el cuadro de texto está vinculado a una propiedad de un objeto, implementará la interfaz INotifyPropertyChanged en el objeto y notificará sobre el valor de la cadena que se va a cambiar.

public class MyClass : INotifyPropertyChanged 
{ 
    public event PropertyChangedEventHandler PropertyChanged; 

    private string title; 
    public string Title { 
     get { return title; } 
     set { 
     if(value != title) 
     { 
      this.title = value; 
      if (this.PropertyChanged != null) 
      { 
      this.PropertyChanged(this, new PropertyChangedEventArgs("Title")); 
      } 
     } 
    } 

Con lo anterior, si se enlaza a la propiedad Title - la actualización pasará por 'automáticamente' a todas las formas/los cuadros de texto que se unen al objeto. Recomendaría esto anteriormente para enviar eventos específicos, ya que esta es la forma más común de notificar el enlace de las actualizaciones a las propiedades del objeto.

Cuestiones relacionadas