我在ClientForms项目中有一个名为FormMain的窗体。现在,这个(FormMain)表单在Scheduling项目中打开另一个名为FormScheduler的表单。
现在,我想在FormScheduler中触发button_click方法事件时将消息发送回FormMain。
我的解决方案创建了一个循环依赖。还有其他方式,比如使用代表吗?
答案 0 :(得分:1)
使用活动。
在表单FormScheduer中添加一个按钮和以下代码:
public event EventHandler ButtonClicked;
private void button1_Click(object sender, EventArgs e) {
if (ButtonClicked != null) {
ButtonClicked(this, EventArgs.Empty);
}
}
在FormMain中,实例化并显示FormScheduer表单,如下所示:
var form = new FormScheduer();
// Listen for the ButtonClicked event...
form.ButtonClicked += form__ButtonClicked;
form.Show();
单击FormScheduler上的按钮时,将调用FormMain上的form_ButtonClicked方法:
void form__ButtonClicked(object sender, EventArgs e) {
Console.WriteLine("clicked");
}