我有一个mainForm和一个saveForm。 我从不关闭mainForm,只是让saveForm出现在顶部。
当我关闭saveForm时,我想在返回mainForm时运行一段代码。
实现这一目标的最佳方法是什么?
答案 0 :(得分:3)
除了@ benPearce的回答,如果你满足于以模态方式出现saveForm,那么你可以打电话:
所以在mainForm
中,我假设您有一个保存按钮(让我们称之为btnSave
)某种类型会导致saveForm
,对吧?对。因此,双击该Save按钮,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();
}
答案 1 :(得分:2)
在mainForm中,订阅saveForm上的FormClosed事件,将您的代码放在此事件的事件处理程序中
void saveForm_FormClosed(object sender, FormClosedEventArgs e)
{
/// code here
}