两种形式之间的相互作用(隐藏/显示)

时间:2015-06-27 11:32:26

标签: c# winforms

我有两个WinForm对象,form1form2。我想做的是:

一个。当用户点击form1上的按钮时,系统会隐藏此按钮,并显示form2的新实例。所以我做了:

form1.Hide();
form2 new_session = new form2();
form2.Show(); 

湾从form2开始,我希望用户能够点击按钮来恢复他已生成form1实例的原始form2。基本上,像:

form2.Hide();
form1.Show();

显然,当前上下文中不存在form1。我知道要解决此问题的解决方案是创建form2的属性,我在其中分配form1,以便我可以再次调用它:

form1 pMyForm;
public form1 myForm
{
get{return pMyForm;}
set{pMyForm = value;}
}

之前显示form2 ...

form2 new_session = new form2();
form2.myForm = this; 

但是,我觉得这样做更合适。我以为我可以在form1的{​​{1}}属性中找到ParentForm,但我找到了form2。与此同时,我尝试将null分配给form1的{​​{1}}属性,但收到错误Parent

您对如何更好地处理此问题有任何建议吗?

1 个答案:

答案 0 :(得分:1)

Form2.Owner = this;

Form1 form = (Form1)this.Owner;

在这里查看我的完整答案: how to exit from application on click of (red X ) button right top on winform