2009-06-10 10 views

Répondre

14

Si vous tentez d'utiliser WinForms, vous pouvez implémenter un événement personnalisé dans votre formulaire "enfant". Vous pouvez déclencher cet événement lorsque le bouton de votre formulaire "enfant" a été cliqué.

Votre formulaire "parent" écouterait alors l'événement et gérerait sa propre mise à jour 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

Grossièrement; le formulaire doit avoir une référence à un objet sous-jacent contenant le texte; cet objet doit déclencher un événement sur la mise à jour du texte; le TextBox dans un autre formulaire devrait avoir un délégué abonné à cet événement, qui découvrira que le texte sous-jacent a changé; Une fois que le délégué TextBox a été informé, le TextBox doit interroger l'objet sous-jacent pour la nouvelle valeur du texte et mettre à jour le TextBox avec le nouveau texte.

0

En supposant WinForms;

Si la zone de texte est liée à une propriété d'un objet, vous devez implémenter l'interface INotifyPropertyChanged sur l'objet et notifier la valeur de la chaîne en cours de modification.

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")); 
      } 
     } 
    } 

Avec ce qui précède, si vous liez à la propriété Titre - la mise à jour passera par « automatiquement » à toutes les formes/zones de texte qui se lient à l'objet. Je recommanderais ceci ci-dessus en envoyant des événements spécifiques, car c'est la manière commune de notifier la liaison des mises à jour aux propriétés d'objet.

Questions connexes