C# 更改活动窗体以显示其他窗体

C# 更改活动窗体以显示其他窗体,c#,visual-studio,C#,Visual Studio,我有一个表单1,还有一个我添加的表单Form1在开始时由program.cs运行。我需要隐藏Form1并通过按下按钮显示optionsform private void submitPassword_Click(object sender, EventArgs e) { options optionForm = new options(); optionForm.Show(); } 上面的代码打开顶部的选项表单,但我需要它来替换当前表单。

我有一个
表单1
,还有一个我添加的表单
Form1
在开始时由program.cs运行。我需要隐藏
Form1
并通过按下按钮显示
options
form

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

上面的代码打开顶部的选项表单,但我需要它来替换当前表单。如何实现这一点?

在显示新窗体之前,使用
this.Close()
隐藏当前窗体,并确保您使用的是无参数
应用程序。运行
,以便在关闭主窗体时程序不会关闭。

类似的解决方案,其中一个窗体调用并作用于另一个窗体。。。比如你可以做一个类似的过程。。。把你的第一个表格传给第二个。。。然后显示第二个。。。然后,可以隐藏第一个表单(通过this.HIDE())。然后,在第二个表单中,当您单击任意按钮选择您的选择,并需要返回到第一个表单时,您可以使用传递到第二个表单的原始表单引用来重新显示它,例如在单击第二个表单时

private void submitPassword_Click(object sender, EventArgs e)
{
    options optionForm = new options();
    optionForm.Show();
    this.Hide();
}
this.PreservedForm.Show();  // re-show original form
this.Close();   // and CLOSE this second form...
您可以使用“隐藏”和“显示”方法:


如何使用无参数应用程序。运行??我当前运行表单的代码是:
Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(新Form1())
Replace
Application.Run(newform1())带有
新表单1().Show();Application.Run()。谢谢你,它工作的很好。。。如果你不介意的话,你能回答我的最后一个问题吗。我如何拥有一个主窗体并在其中加载其他窗体?如果您希望其他窗体完全位于主窗体内,请在主窗体上设置
IsMdiContainer
,并在显示之前将子窗体上的
MDIParent
设置到MDI容器(主窗体)中。谢谢,这很有帮助。我挣扎了一个小时才找到答案。
private void submitPassword_Click(object sender, EventArgs e)

{

    options optionForm = new options();

    this.Hide();

    optionForm.Show();
}