C# 隐藏 form2 并在不覆盖的情况下重新打开它
C# hide form2 and reopen it without override
你好,
我有 2 种形式:form1
和 form2
。
当我按下 form1 中的按钮时,我想打开 form2
并且 form1
仍然可见。
form1 中的代码:
private void button_Click_1(object sender, EventArgs e)
{
form2 form = new form2();
form.Show();
}
当我在 form2
中按 [x](关闭按钮)时,我想隐藏它。
form2 中的代码:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
Hide();
}
}
问题是当我再次按下 form1
中的按钮 1 时。它会打开 form2
,但就像它没有被隐藏一样,它会像第一次一样打开它。我不想关闭 form2
,因为它是一个计时器,在隐藏表单时正在计时。我如何在按下 [x] 时隐藏 form2
,然后再次按下 button1 重新出现,而不是像第一次那样重新打开?
谢谢!
当您编写 form2 form = new form2()
时,您会创建它的另一个实例,因此您必须保存该实例并使用相同的实例:
private Form form;
private void button_Click_1(object sender, EventArgs e)
{
if(form==null)
form = new Form2();
form.Show();
}
你好,
我有 2 种形式:form1
和 form2
。
当我按下 form1 中的按钮时,我想打开 form2
并且 form1
仍然可见。
form1 中的代码:
private void button_Click_1(object sender, EventArgs e)
{
form2 form = new form2();
form.Show();
}
当我在 form2
中按 [x](关闭按钮)时,我想隐藏它。
form2 中的代码:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
Hide();
}
}
问题是当我再次按下 form1
中的按钮 1 时。它会打开 form2
,但就像它没有被隐藏一样,它会像第一次一样打开它。我不想关闭 form2
,因为它是一个计时器,在隐藏表单时正在计时。我如何在按下 [x] 时隐藏 form2
,然后再次按下 button1 重新出现,而不是像第一次那样重新打开?
谢谢!
当您编写 form2 form = new form2()
时,您会创建它的另一个实例,因此您必须保存该实例并使用相同的实例:
private Form form;
private void button_Click_1(object sender, EventArgs e)
{
if(form==null)
form = new Form2();
form.Show();
}