2009-06-10 10 views

Odpowiedz

14

Jeśli próbujesz użyć WinForms, można zaimplementować niestandardowego zdarzenia w postaci „dziecko”. Możesz uruchomić to wydarzenie po kliknięciu przycisku w formularzu "Dziecko".

Twój „rodzic” forma będzie wtedy wykrywać zdarzenie i obsługiwać własną zmiana 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

przybliżeniu; jedna forma musi zawierać odniesienie do jakiegoś ukrytego obiektu zawierającego tekst; ten obiekt powinien wywołać zdarzenie związane z aktualizacją tekstu; TextBox w innej formie powinien mieć delegata subskrybującego to wydarzenie, które odkryje, że tekst bazowy się zmienił; raz delegat TextBox został poinformowany, TextBox powinny kwerendy obiektu stanowiącego podstawę dla nowej wartości tekstu, i zaktualizować pole tekstowe z nowym tekstem.

0

Zakładając WinForms;

Jeśli pole tekstowe jest powiązane z właściwością obiektu, należy zaimplementować interfejs INotifyPropertyChanged na obiekcie i powiadomić o wartości zmienianego ciągu.

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

z powyższym, jeśli wiążą się z tytułem własności - aktualizacja będzie przejść przez „automatycznie” do wszystkich form/tekstowych, które wiążą się z obiektu. Polecam to powyżej wysyłając określone zdarzenia, ponieważ jest to powszechny sposób powiadamiania o wiązaniu aktualizacji z właściwościami obiektu.

Powiązane problemy