2012-02-09 17 views

答えて

1

どのようにファンシーにしたいですか。

最も簡単な方法は、メソッドを直接呼び出すことです。その後、

_child = new ChildForm(); 

、あなたがアップデート(TextChangedなどのSelectedIndexChanged)それ以外

_child.UpdateData(someDataCollectedFromParent) 

子供

public void UpdateData(MyObject data) 
{ 
    textBox1.Text = data.FirstName; 
    textBox2.Text = data.SecondName; 
} 

を検出し、あなたCOUメッセージの受け渡しメカニズムを構築するか、インフラストラクチャDataBindingを調べてください。

0

また、MyObjectにSystem.ComponentModel.INotifyPropertyChangedを使用することもできます。 m_PropertyChanged

myObject1.PropertyChanged += new PropertyChangedEventHandler(m_PropertyChanged); 

をして::

public class MyObject : INotifyPropertyChanged 
{ 
    public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; 
    private object _data1; 

    public object Data1 
    { 
     get{ return _data1;} 
     set 
     { 
      _data1=value; 
      PropertyChanged.Invoke(this, new PropertyChangedEventArgs("Data1")); 
     } 
    } 
} 

は、あなたの子フォームで、次のコードが示すように、(s)は、新たなデータの更新のためにこのイベントを受信する機能を割り当てる

public void m_PropertyChanged(object sender, PropertyChangedEventArgs e) 
{ 
    // update your data here, you can cast sender to MyObject in order to access it 
} 

よろしくお願いします。 S. Peyman Mortazavi

+0

これは私がhav e子は情報を親に送信するが、逆の方法ではない。この例では、子供はそのイベントに登録するために親への参照を持つ必要があります。 – Servy

関連する問題