0

我有一个名为 form1 的主窗体,我希望它始终可见,并且我希望能够从 form1 中的一个(或两个)按钮中显示和隐藏 form2。我该怎么做?

4

4 回答 4

3

你可以在你的Form1

private Form2 _form2;

public void btnShow_Click(object sender, EventArgs e)
{
   if(_form2 == null)
     _form2 = new Form2();
  _form2.Show();
}

public void btnHide_Click(object sender, EventArgs e)
{
   if(_form2 != null)
     _form2.Hide();
}

但我不确定是否Form2可以显示,如果它曾经关闭过。(如果Form2只是隐藏,我可以正常工作)

于 2013-06-14T06:26:46.640 回答
2

Form2在您的按钮Click处理程序中创建一个新实例Form1并调用Show()该实例以显示表单。保留该实例,因为稍后您需要调用Close()它的方法来关闭它。

于 2013-06-14T06:26:48.450 回答
2

我更喜欢使用

using(Form2 frm = new Form2())
{
    frm.ShowDialog();
}

这样,表格在完成后就可以正确处理。

于 2013-06-14T06:31:34.990 回答
0
form2 f2=new form2(form1_Parent);
f2.ShowDialog();
f2.Close();
于 2013-06-14T06:26:59.720 回答