C# 隐藏表单后如何再次显示表单?
我有两张表格。我需要用按钮打开第二张表格。当我打开form2时,我会隐藏form1。但是,当我尝试用按钮从form2再次显示form1时,它不起作用。我的form1代码是:C# 隐藏表单后如何再次显示表单?,c#,winforms,forms,minimize,maximize-window,C#,Winforms,Forms,Minimize,Maximize Window,我有两张表格。我需要用按钮打开第二张表格。当我打开form2时,我会隐藏form1。但是,当我尝试用按钮从form2再次显示form1时,它不起作用。我的form1代码是: Form2 form2 = new Form2(); form2.ShowDialog(); 内表2代码: Form1.ActiveForm.ShowDialog(); 或 或 不起作用。 我不想打开新表格 Form1 form1 = new Form1(); form1.ShowDialog();
Form2 form2 = new Form2();
form2.ShowDialog();
内表2代码:
Form1.ActiveForm.ShowDialog();
或
或
不起作用。
我不想打开新表格
Form1 form1 = new Form1();
form1.ShowDialog();
我想展示我以前隐藏的表格。
或者,我可以将其最小化到任务栏
this.WindowState = FormWindowState.Minimized;
并再次将其从form2中最大化
Form2.ActiveForm.WindowState = FormWindowState.Maximized;
然而,我尝试的方式是再次不起作用。
这些方法有什么问题?您可以尝试(在Form1按钮上单击)
或者(应该有效)
保留
Form1
的实例,并将其用于显示或隐藏如果您这样显示Form2,则可以通过Owner属性从Form2访问Form1:
form2.ShowDialog( form1 )
form2.Show( form1 )
或者像这样:
form2.ShowDialog( form1 )
form2.Show( form1 )
注意,通过这种方式,您不必使用ShowDialog,因为隐藏和显示逻辑可以在Form2中移动
初级形式
Form2 form2 = new Form2(this);
次级形式
private Form Form1
public Form2(Form Form1)
{
InitializeComponent();
this.Form1 = Form1;
Form1.Hide();
}
稍后关闭时
private void btnClose_Click(object sender, EventArgs e)
{
Form1.Show();
this.Close();
}
非常感谢你。添加hide();show();解决了我的问题。
private Form Form1
public Form2(Form Form1)
{
InitializeComponent();
this.Form1 = Form1;
Form1.Hide();
}
private void btnClose_Click(object sender, EventArgs e)
{
Form1.Show();
this.Close();
}