C#的winform程序,主窗口Form1,然后定义了几个usercontrol,所有参数存在一个xml中。当usercontrol的控件的值改变的时候,怎么调用主窗口的函数来更改xml文件。
另外,当点击usercontrol的某个控件的时候,怎么在主窗口的textbox中显示一些信息。
控件中定义事件,参数改变时在自定义控件中触发事件,在主窗口中编写事件处理函数,读取你的控件的属性并且显示。
大概的代码
class UserControl
{
public event EventHandler Changed;
public void foo()
{
... //修改控件状态
if (Changed != null)
Changed(this, new EventArgs());
}
...
}
在主窗口的构造函数或者创建用户控件的地方
userControl.Changed += new EventHandler(userControl_Changed);
...
private void userControl_Changed(object sender, EventArgs e)
{
// 更新界面
}