表单关闭时打开所有者表单

时间:2014-07-24 19:26:33

标签: c# winforms

我有两种形式,formA使用showDialog调用formB然后formA将关闭。那么我想要发生的是当我关闭formB时,formA将再次使用showDialog打开。任何表单都可以打开formB,我希望它在我单击按钮时打开调用它的那个。这就像当formA打开formB时,formA将关闭而formB将打开然后当我点击“完成”按钮时,formA将再次打开并且formB将关闭。如果formC调用formB,那么当我单击“完成”按钮时,formC将再次打开。我尝试使用所有者和父属性,但它不会工作。任何帮助将不胜感激。感谢。

1 个答案:

答案 0 :(得分:7)

你让事情变得比以前更加复杂。没有理由关闭父表单然后重新打开它,除非你有一些非常具体的理由想要这样做。

相反,隐藏父窗体,将子窗口显示为模式对话框,然后在子窗口关闭时再次显示父窗体(并且控件返回到父窗口):

private void button1_Click(object sender, EventArgs e)
{
    this.Hide();
    new FormB().ShowDialog();
    this.Show();
}