社区
C#
帖子详情
设置了 Closing 事件中的 e.Cancle = true;Windows无法关机或重启系统...请教各位!
supper_lxm
2007-03-28 12:09:49
我写的一个WinForm应用程序,在Closing事件中,将e.Cancle设置成true,则Windows无法关机和重启系统...不知如何解决.特来请教!多谢各位!
...全文
350
7
打赏
收藏
设置了 Closing 事件中的 e.Cancle = true;Windows无法关机或重启系统...请教各位!
我写的一个WinForm应用程序,在Closing事件中,将e.Cancle设置成true,则Windows无法关机和重启系统...不知如何解决.特来请教!多谢各位!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
碼上道
2008-09-10
打赏
举报
回复
学习了,3Q
navysong
2007-03-28
打赏
举报
回复
e.Cancel
学习了
哈哈007哈
2007-03-28
打赏
举报
回复
上面正解
txwd0033
2007-03-28
打赏
举报
回复
学习
北京的雾霾天
2007-03-28
打赏
举报
回复
将e.Cancle设置成true就是为了不让系统关闭或重启,
当满足条件了再设置为False就是了,比如:
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (MessageBox.Show("确定要关闭吗?", MessageBoxButtons.OKCancel) != DialogResult.OK)
{
e.Cancel = true;
}
}
sz709
2007-03-28
打赏
举报
回复
学习..
vrhero
2007-03-28
打赏
举报
回复
当然是这样...你得判断一下不能总设为true...
.NET 2.0 中 Closing 事件已过时,不应该再使用,用 FormClosing 事件取代...
通过事件数据中的 CloseReason 值可判断引起该事件的原因...
例
......
switch(e.CloseReason)
{
case CloseReason.ApplicationExitCall:
case CloseReason.TaskManagerClosing:
case CloseReason.WindowsShutDown:
e.Cancel=false;
break;
default:
e.Cancel=true;
break;
}
......
在
Cl
osi
ng
事件
中
,将e.Can
cl
e
设置
成
true
,则
Windows
无法
关机
和
重启
系统
的解决办法
最近在设计一个WinForm程序的时候遇到一个bug,就是From1窗体的关闭
事件
中
设置
了e.Can
cl
e
设置
成
true
,导致
系统
无法
关机
重启
,
windows
7 和
windows
xp都是这样。 我这里设计的是当用户点击窗体的叉叉,不关闭窗体,而是最小化窗体,但当
系统
重启
的时候,发现无关
关机
重启
了,这里的解决办法是通过判断
Cl
oseReason的枚举值,来搞清楚到底是用户自己关闭或是
系统
引起...
Window_
Cl
osi
ng
事件
this.
Cl
osi
ng
+= new System.ComponentModel.CancelEventHandler(Window1_
Cl
osi
ng
); void Window1_
Cl
osi
ng
(object sender, System.ComponentModel.CancelEventArgs e) { Debug.Wri
Error evaluati
ng
expression ‘xxxxx != null and xxxxxx!= ’
异常实际是在Mybatils执行映射处理的时候发生的,属性“XXX”找不到调用自己的所有者对象(NULL),所以抛出异常。从最初的字段所有者开始判断(先要判断category不能为空),避免空指针,才能继续下面的判断。在对应的XXXMapper.xml
中
一步步判断字段(属性)所有者是否为空。
DialogResult的用法
在程序
中
一旦
设置
DialogResult的值,接下来就会自动执行
cl
ose()的方法,所以没有必要写this.
cl
ose(),并且也没有必要设定
cl
osi
ng
和
cl
osed
事件
,其执行顺序为DialogResult=
true
/false->
cl
osi
ng
事件
->
cl
osed
事件
而在调用对话框的主程序
中
建议如下写法: Win_Filter win = new Wi...
c# 阻止窗口关闭(转)
//添加窗口关闭
事件
委托 在窗口关闭
事件
中
处理 private void TestForm_Form
Cl
osi
ng
(object sender, Form
Cl
osi
ng
EventArgs e) { switch (e.
Cl
oseReason) { //应用程序要求关闭窗口 case
Cl
oseReason.ApplicationExitCall: e.Cancel = false; //不拦截...
C#
111,088
社区成员
642,552
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章