在winform应用程序中,我有一个主表单和其他表单。当我点击主窗体中的“x”时,我想触发另一种形式的FormClosing
事件。
@Update:
代码:
在计划中:
frmMain frm = new frmMain();
frm.ShowDialog();
在frmMain:
private void btnFrm2_Click(object sender, EventArgs e)
{
Frm2 f2 = new Frm2();
f2 .Show();
}
在Frm2中:
private void frm2_FormClosing(object sender, FormClosingEventArgs e)
{
//something
}
关闭frm2_FormClosing
时如何触发事件frmMain
?
我知道我可以在关闭frm2
时触发它,但我希望在关闭frmMain
时触发它。
答案 0 :(得分:0)
使用observer pattern,您可以在主窗体上发生FormClosing或任何其他操作时向订阅者(子窗体)发出通知。在订阅者的处理程序中,您可以提升它的FormClosing事件(subscribent,childform)或做任何你想做的事。
我相信这种模式是直截了当且非常灵活的。我用它来更新多对多相关表格中的数据。