更改活动表单以显示另一种表单

时间:2011-11-26 17:22:54

标签: c# visual-studio

我有一个Form1和另一个我添加的。 Form1一开始就由program.cs运行。我需要隐藏Form1并通过按下按钮显示options表单。

    private void submitPassword_Click(object sender, EventArgs e)
    {
        options optionForm = new options();
        optionForm.Show();
    }

上面的代码在顶部打开选项表单,但我需要它来替换当前表单。我怎么能实现这个目标呢?

4 个答案:

答案 0 :(得分:7)

在显示新表单之前使用this.Close()隐藏当前表单,并确保使用无参数Application.Run,因此当您关闭主表单时,程序不会关闭。

答案 1 :(得分:2)

private void submitPassword_Click(object sender, EventArgs e)
{
    options optionForm = new options();
    optionForm.Show();
    this.Hide();
}

答案 2 :(得分:2)

您可以使用“隐藏”和“显示”方法:

private void submitPassword_Click(object sender, EventArgs e)

{

    options optionForm = new options();

    this.Hide();

    optionForm.Show();
}

答案 3 :(得分:1)

类似的解决方案,其中一个表单调用并作用于另一个表单...例如this one I answered for another.您可以执行类似的过程...将您的第一个表单传递给第二个...然后显示第二个...然后,你可以隐藏你的第一个表格(通过this.Hide())。然后,在您的第二个表单中,当您单击任何按钮以选择您的选择,并且需要返回到第一个表单时,您可以使用原始表单的引用传入INTO第二个表单来重新显示它,例如在点击第二张表格......

this.PreservedForm.Show();  // re-show original form
this.Close();   // and CLOSE this second form...