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

在program.cs里有Application.run(form1).在form1里有个登陆按钮,功能是显示form2窗体,并退出form1,显示form2的代码为ne... 在program.cs里有Application.run(form1).在form1里有个登陆按钮,功能是显示form2窗体,并退出form1,显示form2的代码为new form2().show(),请问,退出form1的代码如何写,请高手指明。
form1.hide()与form1.dispose()都不可以,我忘记有没有form1.close()了,有的话也不可以。
展开
 我来答
FantasyChump
2008-08-05 · TA获得超过3287个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2216万
展开全部
这样是不行的,Windows里面必须维护一个主线程不能结束,不然整个程序就结束运行了,所以你在form1里面显示form2然后又想把form1关掉是不可以的,结果会是整个程序都结束。

所以正确方法是运行form2,在form2里面使用ShowDialog来显示form1,最后根据form1的DialogResult来判断form2还要不要继续显示。
百度网友0f3f080f4
2008-08-05 · TA获得超过777个赞
知道小有建树答主
回答量:1055
采纳率:0%
帮助的人:805万
展开全部
在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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aideqiuqian7
2008-08-05 · TA获得超过648个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:309万
展开全部
下边这条语句是结束线程的,希望对你有帮助
System.Windows.Forms.Application.Exit();

隐藏的除了hide()外还有一个是
Enabled = false;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangfada
2008-08-05
知道答主
回答量:13
采纳率:0%
帮助的人:4.7万
展开全部
form1的button 中 : hide form1 , show form2

就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rainee007
2008-08-06 · TA获得超过263个赞
知道小有建树答主
回答量:652
采纳率:0%
帮助的人:449万
展开全部
应该显示form2,通过form2调用form1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
留遐思侍丑
2020-02-23 · TA获得超过3.7万个赞
知道小有建树答主
回答量:1.3万
采纳率:32%
帮助的人:913万
展开全部
form1.colse();当然不行,因为form1是启动程序,如果关闭form1就相当于关闭整个程序。
应该是form2
frm2
=
new
form2();this.form1.hide();frm2.show();//注意先后顺序。是正确的。
我是专门从事c#winform开发的。相信我。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式