【发布时间】:2010-04-19 21:22:40
【问题描述】:
我有一个 mainForm 和一个 saveForm。 我从不关闭 mainForm,只是让 saveForm 出现在顶部。
当我关闭 saveForm 时,我希望在返回 mainForm 时运行一段代码。
实现这一目标的最佳方法是什么?
【问题讨论】:
标签: c#
我有一个 mainForm 和一个 saveForm。 我从不关闭 mainForm,只是让 saveForm 出现在顶部。
当我关闭 saveForm 时,我希望在返回 mainForm 时运行一段代码。
实现这一目标的最佳方法是什么?
【问题讨论】:
标签: c#
除了@benPearce 的回答,如果您满足于 saveForm 以模态方式出现,那么您可以调用:
所以在mainForm 中,我假设您有一个保存按钮(我们称之为btnSave),它会显示saveForm,对吧?正确的。因此,双击该保存按钮,Visual Studio 将为您创建一个事件处理程序。输入下面的代码。
private void btnSave_Click(object sender, EventArgs e)
{
saveForm sf = new SaveForm();
if (sf.ShowDialog() == DialogResult.OK)
{
// do your thing
}
}
当然,您必须确保 saveForm 正在设置 DialogResult。例如,假设您在 saveForm 中有一个 OK 按钮,该按钮应该关闭 saveForm... 在 OK 按钮的 Click 事件中,您可以这样做:
private void btnOK_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
this.Close();
}
【讨论】:
在 mainForm 中,订阅 saveForm 上的 FormClosed 事件,将代码放入该事件的事件处理程序中
void saveForm_FormClosed(object sender, FormClosedEventArgs e)
{
/// code here
}
【讨论】: