我有一个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();
}
}
}
问题是我已经为孩子save
事件的Save button on click
逻辑实施了一次。我不想再次编写相同的代码,所以有没有办法从上面的代码中调用事件(保存保存逻辑)。检查表单是否可编辑是在BaseForm
表单中进行的。
答案 0 :(得分:0)
您可以对SaveButton_Click
中的代码进行折射,以调用名为SaveForm()
的方法,将此方法设为公开,并且:
protected void IsEditable()
{
foreach (ChildForm f in MdiChildren)
{
if (f.isEditable == true)
{
f.SaveForm();
f.Close();
}
}
}