社区
C#
帖子详情
请教高手C#winForm程序退出问题?
zhanghongxing
2005-11-13 12:25:29
为了使用户点击关闭按钮不退出程序,我在Closing事件中加了不让退出的代码。运行可以了,但出现的问题是连windows关机也关不了。请教高手,怎么办,也想到了重载void DefWndProc(),但无效。不知windows关机时会对我的程序发什么消息?void DefWndProc()能拦截到吗?
...全文
708
17
打赏
收藏
请教高手C#winForm程序退出问题?
为了使用户点击关闭按钮不退出程序,我在Closing事件中加了不让退出的代码。运行可以了,但出现的问题是连windows关机也关不了。请教高手,怎么办,也想到了重载void DefWndProc(),但无效。不知windows关机时会对我的程序发什么消息?void DefWndProc()能拦截到吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ICANNER
2010-06-11
打赏
举报
回复
,,,,,,,,,,,,,,,,,,,,,,,,,,,学习
charmgjj
2006-02-17
打赏
举报
回复
学习
zhanghongxing
2005-11-29
打赏
举报
回复
谢谢各位,但还是不成啊?请高手指教。分不够可再加!
zhanghongxing
2005-11-22
打赏
举报
回复
zhzou 你好:谢谢你的解答。 SystemEvents_SessionEnded 在我这里不认,需引用什么吗?
另外:protected override void WndProc(ref Message m) 收不到啊?
crystal1204
2005-11-15
打赏
举报
回复
学习!`
byst
2005-11-14
打赏
举报
回复
我有过类似的经历
我的解决方法是主窗口FormBorderStyle改成none
然后自己填加关闭按钮和方法
Ly_uu
2005-11-14
打赏
举报
回复
值得学习一下~~~~
chaircat
2005-11-14
打赏
举报
回复
Windows在(非强制)关机的时候会向每个程序发送(SendMessage)关闭消息,好像就是WM_QUERYENDSESSION吧...忘记了...-_-!
只有全部SendMessage返回True,也就是所有程序正常关闭windows才会关机...
dragonfly001
2005-11-14
打赏
举报
回复
你Close事件代码是什么??????
marvelstack
2005-11-14
打赏
举报
回复
更多,
http://blog.csdn.net/zhzuo/archive/2005/04/14/347712.aspx
marvelstack
2005-11-14
打赏
举报
回复
使用SystemEvent类
注册
SystemEvents.SessionEnded += new SessionEndedEventHandler(SystemEvents_SessionEnded);
//事件处理程序
private static void SystemEvents_SessionEnded(object sender, SessionEndedEventArgs e)
{
//去掉事件注册,
formMain.Closing -= new System.ComponentModel.CancelEventHandler(this.FormMain_Closing);
Application.Exit();//调用关闭程序.
//Environment.Exit(0);
}
levinknight
2005-11-13
打赏
举报
回复
就是你没有处理好 WM_QUERYENDSESSION 这个消息,所以才关不了机
fsvbboy
2005-11-13
打赏
举报
回复
你不要程序关闭,那你的关闭按钮有什么作用呢,不懂?
saucer
2005-11-13
打赏
举报
回复
not sure if your GUI design choice is correct, but try to respond to WM_QUERYENDSESSION message, something like
protected override void WndProc(ref Message m)
{
if(m.Msg==0x0011) //WM_QUERYENDSESSION
{
mainForm.shutDown = true;
Trace.WriteLine("Shutting Down - TrayIcon WndProc");
mainForm.Show();
MessageBox.Show("You must close System5 Logger before shutting down");
}
else if(m.Msg==0x0016) //WM_ENDSESSION
{
mainForm.shutDown = true;
Trace.WriteLine("Shutting Down 2 - TrayIcon WndProc");
}
else
base.WndProc(ref m);
}
see
http://groups.google.com/group/microsoft.public.dotnet.languages.csharp/msg/4425515586a543c4?hl=en&
zhy0101
2005-11-13
打赏
举报
回复
什么代码这么厉害,Windows都不能关机?
redwolf_123
2005-11-13
打赏
举报
回复
你Close事件代码是什么。。。
不想退出的话你只让界面隐藏就可以了啊。。(考虑加个最小化到右下)
free_xixi
2005-11-13
打赏
举报
回复
关注
关于
C#
WINFORM
登录窗口的做法
前几天做一个
程序
,由于是基本新手,所以许多不会,现终于完事了,先记录下以便以后复习。 主要内容: 1、两个窗体frm_TPCalc(主窗体),frm_Login(登录窗口) 2、登录窗口要和主窗口皮肤一致,且主窗口支持换肤 ---->要求登录窗口必须是主窗口的子窗体(目前水平认为必须这样,目前还是不行,因为虽然设置了但是子窗体关闭时主窗体才出来,无子窗体无法继承到) 3、登录窗口验证成功
C#
窗体
程序
,当窗口关闭后,进程无法关闭解决方法
最近在写一个
C#
的窗体
程序
,开了一个线程负责UDP通信的接收,当窗体关闭后,进程总是无法关闭。 解决方法: 在每个线程启动时,都把IsBackground设成True。 这样,在主线程关闭时,其他的线程就会自动关闭。 参考资料: 1.
C#
中,窗口关闭后进程无法关闭,如何解决?
请教
!
大牛们
请教
一下winfrom cs端
程序
运行两个小时后不刷新数据,每次都需要重启是什么原因?
System.Windows.Forms.DialogResult dialogResult = System.Windows.Forms.MessageBox.Show("确认
退出
?//Log.Logger.Debug("队列字典 | " + JsonConvert.SerializeObject(Constants.CallingQueueModels));string[] shiftArray = { "上午", "下午", "晚上", "全天" };
C#
中多线程间的同步
一、引入先给出一个Num类的定义internalclassNum { publicstaticintodd=50000; publicstaticinteven=10000; }假设现在要求输出小于 odd 的所有奇数,输出小于 even 的所有偶数,不考虑多线程时可以写出如下的代码:(为了演示多线程时线程间的争用,先把值赋给了 num,实际上这个赋值操作毫无...
C#
读目录里面所有CSV文件数据表,显示到DataGridView
目的 读取CSV文件,包含题头的数据表格,显示到
WinForm
。 使用了锐视SeeSharp工具包。 CSV读取 一开始打算自己干写,觉得这个链接文章有用: https://www.cnblogs.com/lcidy/p/9700187.html 后来看了简仪SeeSharp Tools的范例,问了LJY,有我需要的API,就成了这样: //引用段 using SeeSharpTools.JY.F...
C#
110,530
社区成员
642,572
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章