2011-11-26 84 views
2

我有Form1和另一个我添加的。 Form1开始时由program.cs运行。我需要隐藏Form1并按下按钮显示options表单。更改活动窗体以显示另一个窗体

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

上面的代码打开的选项之上形成的,但我需要它来取代目前的形式。我怎么能做到这一点?

回答

6

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

+0

我如何使用参数的Application.Run?我当前运行该表单的代码是:'Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); (new Form1());' –

+2

替换'Application.Run(new Form1());'with'new Form1()。 Application.Run();'。 – MagnatLU

+0

非常感谢,它的作品完美...如果你不介意你能回答我的最后一个问题。我怎么能有一个主窗体,并在其中加载其他形式? –

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

类似的解决方案,其中一种形式调用和行为上的另一...如this one I answered for another.你可以做一个类似的过程......通过在你的第一个形式到第二......然后显示第二...然后,你可以隐藏你的第一个表单(通过this.Hide())。然后,在你的第二种形式中,当你点击任何按钮来选择你的选择,并且需要返回到第一个形式时,然后你可以使用通过INTO第二种形式的原始形式的引用来重新显示它,例如在单击第二个窗体上...

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

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

private void submitPassword_Click(object sender, EventArgs e) 

{ 

    options optionForm = new options(); 

    this.Hide(); 

    optionForm.Show(); 
} 
相关问题