C#中的事件是如何被c 捕获关闭事件到的

扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
C#中combobox 和TreeView控件属性、事件、方法收集
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口C# 控制台应用程序 关闭事件如何捕获和改写?
现在有一个C# 控制台程序,不是winform。
注意:不是winform,不是winform,不是winform,不是winform,不是winform
&&&&&&&& 是控制台应用程序,是控制台应用程序,是控制台应用程序,是控制台应用程序
在winform里面可以设置关闭窗体事件。
但是在控制台里面是如何设置关闭事件呢?
我在网络上搜索了下,基本上都是引用外部dll,我试验了下,可以触发到。
我现在想做的是,如何在点击关闭按钮时,通过返回值来让窗口是关闭或者取消关闭保持现状。
我想做的是,点击关闭按钮,在屏幕上输出:是要关闭吗?
y关闭,n不关闭,继续执行。
所以涉及到修改控制台窗口的关闭事件。
请大家给出完整正确的代码,并添加相应注释,这样我好方便理解。
see this, friend:
已提議為解答
已標示為解答
&&&&&&& private void Form9_FormClosing(object sender, FormClosingEventArgs e)
&&&&&&&&&&& DialogResult dResult = MessageBox.Show(this, &确定要关闭入库程序吗&, &提示?&, MessageBoxButtons.OKCancel);
&&&&&&&&&&& if (dResult == DialogResult.OK)
&&&&&&&&&&& {
&&&&&&&&&&&&&&& e.Cancel =
&&&&&&&&&&& }
&&&&&&&&&&& else
&&&&&&&&&&& {
&&&&&&&&&&&&&&& e.Cancel =
&&&&&&&&&&& }
&&&&&&& }Ellis_Wong
是控制台程序 不是winform程序
参考一下这个Ellis_Wong
这篇文章是不错,不过有点问题,我把代码拷贝下来运行,点击关闭按钮还是会直接退出。
他的代码思路上确实是提供了我想要的,就是用命令来退出,但是运行后点击关闭按钮还是直接退出。
看怎么解决这个问题
据我所知 Console 程序没有办法处理关闭按钮的,Console 是一个特殊的系统句柄,虽然,它可以接受 Console Control Event,但我并不确定 CONSOLE_CTRL_CLOSE_EVENT 就是单击 x 按钮时产生的,根据 Windows 实现,单击 x 应该是& WM_CLOSE 消息。我也没有见过单击控制台 x 后出现提示的,也许真的没有其他办法。Mark Zhou
就这样沉了吗? help!
see this, friend:
已提議為解答
已標示為解答
Microsoft 正展開一份線上問卷調查,了解您對於 Msdn 網站的看法。如果您選擇參加,您離開 Msdn 網站時即會顯示線上問卷調查。您是否想要參加?
<input type="hidden" id="hdnTrackerText" value="請勿關閉此視窗。謝謝!在您瀏覽完畢之後,問卷將會顯示在此處,因此請勿關閉此視窗。" />
其他 Office 網站c# 怎么捕获桌面上的鼠标单双击事件_百度知道
c# 怎么捕获桌面上的鼠标单双击事件
鼠标在桌面上“注意。,感谢回答者我用c#做了个程序!谢谢。若还没有满意的回答!。!如果已获得满意的回答,可以尝试以下操作.。该调用的。请说清楚点!”我所指的时鼠标在windows桌面上而不是在窗体上更不是点什么按键!随便在windows桌面上双击鼠标后桌面上的所有可见图标全部隐藏! 不知道这个功能代码怎么实现,请及时采纳。该导入的!ok后100分送上.那位大人指点指点把代码发我!在双击后又在显示出来。。请尽量详细点!回答采纳后请到百度的
dw贴下拿分,想在这个程序里加个功能, 就时当程序运行后我把程序最小化后
////c-getmessage.liesmars://www截取系统消息
其他类似问题
桌面的相关知识
按默认排序
其他4条回答
我也想过这个问题但是我没到我的老师给我的解释是你的应用程是运行在操作系统上的所以如果应用程序捕获自己的事件是没问题但是捕获 操作系统就违反了托管程序的规律了可能是我才疏学浅吧如果有了好办法请发个邮件给我 对了如果那个问题用c++的话我的老师说能解决但是我不会c++
具体的代码实在太长.我就不发了.实现方法就是使用HOOK.你可以baidu搜索下&C# 鼠标HOOK&就有你要的答案了
这个估计要截获桌面的鼠标消息,再写自己的函数,没做过,等好答案
写个钩子函数,截获鼠标双击后进行相应的操作
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁硬件改变时C#会捕获到什么事件?
[问题点数:20分,结帖人fcymk2]
硬件改变时C#会捕获到什么事件?
[问题点数:20分,结帖人fcymk2]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。C#捕获windows关机事件,在系统关机前做一些自己想做的事
C#捕获windows关机事件,在关机前做一些自己想做的事;
有些时候我们可能想在Windows关机时记录或处理一些事情,这里提供几种方法。
/// 窗口过程的回调函数
protected override void WndProc(ref Message m)
switch (m.Msg)
//此消息在OnFormClosing之前
case WindowsMessage.WM_QUERYENDSESSION:
//MessageBox.Show(WndProc.WM_QUERYENDSESSION.我要阻止系统关闭!);
//this.Close();
//this.Dispose();
//Application.Exit();
m.Result = (IntPtr)1; //阻止Windows注销、关机或重启
base.WndProc(ref m);
protected override void OnFormClosing(FormClosingEventArgs e)
switch (e.CloseReason)
case CloseReason.ApplicationExitCall:
e.Cancel =
MessageBox.Show(拦截关闭要求事件!);
case CloseReason.FormOwnerClosing:
e.Cancel =
MessageBox.Show(拦截自身关闭事件!);
case CloseReason.MdiFormClosing:
e.Cancel =
MessageBox.Show(拦截MDI窗体关闭事件!);
case CloseReason.None:
case CloseReason.TaskManagerClosing:
e.Cancel =
MessageBox.Show(拦截任务管理器关闭事件!);
case CloseReason.UserClosing:
//注销或关机会触发此事件;
//MessageBox.Show(拦截用户关闭事件!);
e.Cancel =
case CloseReason.WindowsShutDown:
e.Cancel =
MessageBox.Show(拦截关机事件!);
base.OnFormClosing(e);
//当用户试图注销或关闭系统时发生。
SystemEvents.SessionEnding += new SessionEndingEventHandler(SystemEvents_SessionEnding);
//下面是系统注销或关闭事件处理程序,
private void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
if (MessageBox.Show(this, 是否允许系统注销!, 系统提示, MessageBoxButtons.YesNo) != DialogResult.Yes)
e.Cancel =
e.Cancel =
SessionEndReasons reason = e.R
switch (reason)
case SessionEndReasons.Logoff:
MessageBox.Show(用户正在注销。操作系统继续运行,但启动此应用程序的用户正在注销。);
case SessionEndReasons.SystemShutdown:
MessageBox.Show(操作系统正在关闭。);
//如果把上面的事件处理程序修改成如下
//private void SystemEvents_SessionEnding(object sender, SessionEndingEventArgs e)
e.Cancel =
//那会出现什么情况,你点击开始菜单关机选择注销、关机、或重新启动将会失效,电脑不能正常关机了,进一步的话把程序做成Windows服务,晕,恶作剧?
//SessionEnded事件同上,事件参数类为SessionEndedEventArgs,同SessionEndingEventArgs相比少了Cancel属性,Cancel属性同一些下的某些事件差不多,比如Form.Closing事件,Control.Validating事件。
//补充,如果需要获取应用程序需要的系统信息,可以访问System.Windows.Forms.SystemInformation类,这也是一个很有用的类,它提供了一组静态属性。
但在调试时并没有执行到这里!
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。}

我要回帖

更多关于 事件冒泡 事件捕获 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信