日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

关闭主窗体而不退出主程序 以及如何获取操作系统的关闭、注销信息

發布時間:2025/5/22 windows 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关闭主窗体而不退出主程序 以及如何获取操作系统的关闭、注销信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何做到點擊主窗體"X"按鈕,能隱藏窗體,而不退出主程序?讓我們先來分析窗體所響應的幾個事件的先后順序:

一. 當前用戶點擊窗體"關閉",右上角上的"X"圖標時的系統消息的響應順序是:
? 1. 系統截獲用戶的點擊消息,可通過重載 WndProc截獲;
? 2. 觸發窗體的 FormClosing 事件;
? 3. 關閉窗體,回收本窗體所占用的相應資源;

二. 當在程序中用 this.Close() 關閉窗體時,系統響應的順序是:
?? 1. 觸發窗體的 FormClosing 事件;
?? 2. 關閉窗體,回收本窗體所占用的相應資源;

三. 當用戶關閉操作系統時,窗體響應的順序是:
?? 1. 觸發窗體的 FormClosing 事件;
?? 2. 觸發窗體的 SystemEvents_SessionEnding 事件;
?? 3. 關閉窗體,回收本窗體所占用的相應資源;
??
因此當我們希望在點擊主窗體"X"圖標時,不希望程序退出,而只是最小化并隱藏窗體,則最好是通過重載 WndProc,截獲點擊該按鈕事件,實現窗體最小化,從而達到不退出主程序的目的.
而不是簡單的在FormClosing 事件中加上 e.Cancel=true; 那樣在關閉或注銷系統時,就不能自動關閉該窗體(程序)了;

經過以上分析,我們只需在窗體中加上以下代碼即可:

?protected?override?void?WndProc(ref???Message?m)
????????
{
????????????
const?int?WM_SYSCOMMAND?=?0x0112;
????????????
const?int?SC_CLOSE?=?0xF060;
????????????
if?(m.Msg?==?WM_SYSCOMMAND?&&?(int)m.WParam?==?SC_CLOSE)
????????????
{

????????????????
this.WindowState?=?FormWindowState.Minimized;
????????????????
this.Hide();
??????????????

????????????????MessageBox.Show(
"click?close?button");
????????????????
return;
????????????}

????????????
base.WndProc(ref???m);
????????}

四. 截獲系統的關閉,注銷信息

只需在程序Main()函數中為主窗體添加SystemEvents_SessionEnding事件;


?Form1?frmMain?
=?new?Form1();
?SystemEvents.SessionEnding?
+=?new?SessionEndingEventHandler(frmMain.SystemEvents_SessionEnding);
在Form1 窗體中添加如下代碼,以響應關機,注銷或重啟事件:

?internal?void?SystemEvents_SessionEnding(object?sender,?SessionEndingEventArgs?e)
????????
{


????????????
string?exitType?=?e.Reason.ToString().Trim().ToUpper();
????????????MessageBox.Show(exitType);
????????????
string?msgTitle?=?"";
????????????
string?msgQuestion?=?"";
????????????
if?(exitType.Contains("SHUTDOWN"))
????????????
{
?????????????????msgTitle?
=?"關機";
?????????????????msgQuestion?
=?"真的要關機嗎?";
????????????}

????????????
else?if?(exitType.Contains("LOGOFF"))
????????????
{
????????????????msgTitle?
=?"注銷";
????????????????msgQuestion?
=?"真的要注銷嗎?";
????????????}


????????????DialogResult?result?
=?MessageBox.Show(msgQuestion?,?msgTitle?,?MessageBoxButtons.YesNo);

????????????e.Cancel?
=?(result?==?DialogResult.No);
????????}


補充說明:
?? SystemEvents 類 (用于提供對系統事件通知的訪問。)來獲取用戶注銷或關閉系統信息;
?? 可查看MSDN說明;

總結

以上是生活随笔為你收集整理的关闭主窗体而不退出主程序 以及如何获取操作系统的关闭、注销信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 67194成人 | 一区二区xxx | 女生的胸无遮挡 | 粗暴video蹂躏hd | 少妇无码一区二区三区免费 | 在线国产精品一区 | 亚洲国产日韩一区二区 | 北岛玲一区二区 | 日韩美女爱爱 | 日本aⅴ在线观看 | 欧美一区二区福利视频 | 一级黄色免费 | 两个人做羞羞的视频 | av免费观看网址 | 亚洲国产精品无码久久久 | 国产精品免费一区二区区 | 九色蝌蚪视频 | 亚洲一区二区在线观看视频 | 少妇诱惑av | 久久亚洲一区 | 一区二区三区精品视频 | www国产| 亚洲综合色站 | 欧美日韩高清不卡 | 亚洲图片中文字幕 | 日本成人精品视频 | 亚洲综合久久网 | 青青草福利视频 | 亚洲欧美一区二区视频 | 欧美精品四区 | 蜜臀av一区二区三区有限公司 | 波多野结衣视频免费在线观看 | 91精品国产高清一区二区三区蜜臀 | 成人亚洲网 | 免费国产小视频 | 都市激情校园春色 | 成人中文字幕在线观看 | 日韩精品在线免费观看 | 亚洲精品成av人片天堂无码 | 永久av免费在线观看 | 久久综合网址 | 欧美精品导航 | 男女作爱免费网站 | 欧美一级激情 | 村姑电影在线播放免费观看 | 色综合久久88色综合天天免费 | 日本一二三区在线 | 91在线看片| 久草国产精品 | 亚洲视频一区二区在线观看 | 好吊妞在线观看 | 开心激情网五月天 | 韩国电影一区 | 国产社区在线 | 干一干操一操 | 香蕉视频一级片 | 999精品在线 | 日本三级理论片 | 香蕉视频免费在线观看 | 国产伦精品一区二区三区视频孕妇 | 日韩xx视频 | 日韩精品一区二区三区视频 | 成人免费一区二区 | 一区二区三区精品视频在线观看 | 成人香蕉视频在线观看 | 天天狠天天插 | 亚洲性夜 | 精品国产乱码久久久久久1区二区 | 欧美sm极限捆绑bd | av不卡在线免费观看 | 久久影视大全 | 91精品久久久久久久久久入口 | 国产亚洲一区二区三区在线观看 | www.久久视频 | 少妇视频在线播放 | zzjj国产精品一区二区 | 久久先锋| 黄色女女 | 手机看片1024国产 | 国产十区 | 精彩视频一区二区三区 | 日韩一区欧美一区 | 亚洲美女影院 | 亚洲欧美激情图片 | 在线激情视频 | 国产精品久久久一区 | 日女人网站| 黄瓜视频污在线观看 | 最新中文字幕av专区 | 动漫av网 | 一区两区小视频 | 日韩一区二区三区精品视频 | 无码人妻av免费一区二区三区 | 久久精品久久久精品美女 | 老色鬼av| 国产高清一区二区三区四区 | 人妻在卧室被老板疯狂进入 | 国产精品久久久久久久午夜 | 严厉高冷老师动漫播放 |