Windows窗体-如何从父窗体调用子窗体的事件
本文关键字:窗体 调用 事件 Windows | 更新日期: 2023-09-27 17:57:34
我有MDI form
项目和一个名为BaseForm
的表单,它继承自Form
,包括MDIparent
在内的所有其他表单都继承自该BaseForm
。我的一些子窗体可以编辑,所以我有Save
按钮。如果有打开的可编辑子窗体,我还会要求保存在父窗体closing event
上。我是这样做的:
protected void IsEditable()
{
foreach (BaseForm f in MdiChildren)
{
if (f.isEditable == true)
{
MessageBox.Show("To Do Save" + f.GetType().ToString());
f.Close();
}
}
}
问题是,我已经为chillen的Save button on click
事件实现了一次save
逻辑。我不想再写同样的代码了,所以有没有办法从上面的代码中调用事件(保存逻辑)。检查表格是否可编辑是在BaseForm
表格中进行的。
您可以折射SaveButton_Click
中的代码来调用一个名为SaveForm()
的方法,将该方法公开,并:
protected void IsEditable()
{
foreach (ChildForm f in MdiChildren)
{
if (f.isEditable == true)
{
f.SaveForm();
f.Close();
}
}
}