vs2008的C#环境中如何,点击右上角的X按钮操作,进行关闭窗体时同时让visible=false的窗体也关闭?

try{connection.Open();SqlCommandcommand=newSqlCommand(sql,connection);intnum=(int)com... try { connection.Open(); SqlCommand command = new SqlCommand(sql, connection); int num = (int)command.ExecuteScalar(); if (num > 0) { MessageBox.Show("欢迎进入客户管理中心", "登陆成功", MessageBoxButtons.OK, MessageBoxIcon.Information); Form1 XTjiemian = new Form1(); XTjiemian.Show(); this.Visible = false;//这个是教材的写法,但是我改成this.close(),程序会出错无法运行··· } else { MessageBox.Show("输入的用户名或者密码错误", "登陆错误", MessageBoxButtons.OK, MessageBoxIcon.Information); }
} catch (Exception ex) { MessageBox.Show(ex.Message, "错作数据库出错", MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { connection.Close(); }
但是我关闭From1的窗体时,程序仍在运行,无法关闭,图片如下
step 1:填写用户名跟密码

step 2::验证成功

step 3:进入form1窗体界面,而Login窗体消失隐藏

step 4:我单击右上角的X按钮,想退出程序,但是其实程序还处在运行当中,因为Login窗体没有关闭,只不过是隐藏了而已,程序还处在运行状态,从状态栏情况就可以知道

问题:我要如何处理,才能在点击From1窗体的关闭按钮时,退出程序,同时关闭Longin窗体
展开
 我来答
然后去远足
2015-03-01 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2440万
展开全部

题主的意图就是要结束整个进程吧?不用遍历所有窗体这么麻烦。

 

Application.Exit();

或者

Environment.Exit(0);
更多追问追答
追问

还有个问题,请问这个为什么不能写成this.close()

修改后无法运行

追答
这是起始窗体吧?应该不是出错而是整个程序退出了吧?

因为在 C# 中,起始窗体关闭后程序就会退出。其实注意看 Program.cs 里的 Main() 函数就会发现,Application.Run() 是阻塞的,当起始窗体关闭后,Main() 函数代码执行完了,整个程序也就执行完了。
hyjiacan
2015-03-01 · TA获得超过3912个赞
知道小有建树答主
回答量:894
采纳率:100%
帮助的人:1088万
展开全部
遍历所有窗体,检查窗体是否可见。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
热心的东泉路网友
2015-03-01 · TA获得超过196个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:50.3万
展开全部
试试在Form1Closed事件下Application.Exit();
追问

还有个问题,请问这个为什么不能写成this.close()

修改成this.close()后,整个程序都会关闭,好奇怪,其实我只想关闭Login窗体,弹出Form1啊……

追答
肯定的啊,Form1是跟着Login打开的,Login都关闭了Form1肯定关闭啊。
当然你也可以把this.Visble=false改成this.Hide效果是一样的。都是隐藏掉Login
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式