从另一种形式关闭一个表格?

时间:2010-06-25 19:57:24

标签: c# winforms

我有一个小应用程序,只要对数据库进行更改,就会创建警报。 弹出警报表格中有几个选项 其中一个选项打开另一个表单(子表单),要求用户提供更多信息。

当子表单从用户获取必要信息时,我希望它与父表单一起关闭。到目前为止,我只知道如何关闭子表单,而不是父表单。

Parent form > Opens child form
Child gathers information > User clicks ok in child > child closes, parent closes

^这就是我想要的

我只是没有脑力思考如何跨表格沟通以完成关闭父表格。

非常感谢任何帮助。实际上,它会受到超级赞赏。如果我能学会如何让我的表格彼此沟通,我真的可以做很多伤害(以一种很好的方式8D)。

2 个答案:

答案 0 :(得分:6)

在父表单中,您可以执行以下操作:

ChildForm f = new ChildForm();
f.FormClosed += (o,e) => this.Close();
f.Show();

答案 1 :(得分:1)

在父表单中尝试:

using (var childForm = new ChildForm())
{
    if (childForm.ShowDialog() == DialogResult.OK)
    {
        Close();
    }
}

您的子表单应通过单击按钮(确定或取消)和/或在设计器中设置AcceptButton和CancelButton属性来返回DialogResult。