2012-02-09 61 views

回答

1

取决于你想要得到多么奇特。

最简单的方法就是直接调用方法。

家长

_child = new ChildForm(); 

然后,当你发现的更新(框TextChanged,的SelectedIndexChanged等)

_child.UpdateData(someDataCollectedFromParent) 

儿童

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

除此之外,你腠ld构建消息传递机制或查看DataBinding基础结构。

0

您还可以使用System.ComponentModel.INotifyPropertyChanged for MyObject。

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)的这种情况下,如下面的代码演示:

myObject1.PropertyChanged += new PropertyChangedEventHandler(m_PropertyChanged); 

和m_PropertyChanged:

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

这会是这样,我会用它来甲肝e孩子向父母发送信息,但不是相反。在这个例子中,孩子需要参考父母来订阅它的事件。 – Servy 2012-02-09 15:13:12