UserControl执行方法调用时如何通知父控件?

时间:2011-12-26 10:05:45

标签: c# .net

我有MainForm,我已经加载了UserControl。此UserControl具有很少的文本框和保存按钮。单击“保存”后,文本框中的信息将保存到文件中。我想通知MainForm信息已更新,它可以重新加载。

我该怎么做?

2 个答案:

答案 0 :(得分:5)

使用活动。

UserControl中声明一个事件,例如:

public event EventHandler SaveClicked;

然后点击保存点击,举起活动:

if (this.SaveClicked != null)
{
    this.SaveClicked(this, EventArgs.Empty);
}

最后将主窗体中的处理程序附加到您的事件中:

...
YourUserControl ctrl = new YourUserControl();
ctrl.SaveClicked += (sender, e) =>
{
    // Put logic of your main form here
};

答案 1 :(得分:1)

您可以使用event - userControl将事件发送给父级 - 而父级将注册为事件侦听器。