使用C#中的按钮打开一个新表单

时间:2012-11-12 05:26:22

标签: c# android-activity

您好我在c#中做了一个简单的活动。我想使用按钮打开一个新的form2,当我按下该按钮时,form1将自动关闭。这是我的代码:

        Form2 form2 = new Form2();
        form2.ShowDialog();
        this.Close(); 

现在我不知道我将使用什么方法自动关闭form1。谢谢..

2 个答案:

答案 0 :(得分:4)

无法正常工作,因为代码控件将暂停form2.ShowDialog();

您必须以非模态方式显示form2:

Form2 form2 = new Form2();
form2.Show();
this.Close(); 

或者我猜你可以通过隐藏表单来伪造它:

Form2 form2 = new Form2();
this.Visible = false;
form2.Show();
this.Visible = true;

尝试两个版本,看看哪种情况更好。调用ShowDialog();会将表单显示为Modal,导致所有用户鼠标/键盘输入限制为form2,直到您关闭它。

编辑:必须将Form2声明为成员变量,如果在按钮事件中进行了十分转换,它将超出范围。

Form2 form2 = new Form2();
private void btnOK_Click(object sender, EventArgs e)
{
this.Visible = false;
form2.Show();
this.Visible = true;
}

答案 1 :(得分:3)

而不是使用this.Close();使用this.Hide()Form2的formclosing事件,而不是form1.Show()

有关详细信息,请查看此link(之前我问过这个问题)。