(c#)如何关闭启动窗体而不关闭程序?

来源:百度知道 编辑:UC知道 时间:2024/06/18 09:39:10
在program.cs里有Application.run(form1).在form1里有个登陆按钮,功能是显示form2窗体,并退出form1,显示form2的代码为new form2().show(),请问,退出form1的代码如何写,请高手指明。
form1.hide()与form1.dispose()都不可以,我忘记有没有form1.close()了,有的话也不可以。

这样是不行的,Windows里面必须维护一个主线程不能结束,不然整个程序就结束运行了,所以你在form1里面显示form2然后又想把form1关掉是不可以的,结果会是整个程序都结束。

所以正确方法是运行form2,在form2里面使用ShowDialog来显示form1,最后根据form1的DialogResult来判断form2还要不要继续显示。

在program.cs定义一个静态的Login。判断是否登录成功,然后启动窗体设置为form2.然后再form2的load里写以下代码。
private void _Load(object sender, EventArgs e){
form1 frmlogin = new form1();
frmlogin.ShowDialog();
if (!Program.Login)
{
this.Close();
return;
}
}
在 from2的load里显示from1。这时from2是不会显示,只显示from1

其实不用关闭 hide()就可以 隐藏

下边这条语句是结束线程的,希望对你有帮助
System.Windows.Forms.Application.Exit();

隐藏的除了hide()外还有一个是
Enabled = false;

form1的button 中 : hide form1 , show form2

就可以了。

应该显示form2,通过form2调用form1.