2011-06-23 95 views
1

我想包括在我的Windows窗體應用程序中的一種方式,當用戶試圖關閉Windows時,它會打開一個對話框取消選項....該辦公室經典之一。防止Windows關閉取消選項C#

在其他主題中,人們將介紹如何防止Windows關機。他們使用這個對話框。它有幫助,但如果用戶立即點擊此框中的任何選項,Windows會關閉該應用程序。

你可以明白我的意思,做以下測試:

在Windows Vista或7打開畫圖,Word或軟任何辦公室,開始寫東西。不要保存它。

嘗試關閉窗口並出現經典保存對話框時立即單擊「取消」。

你會看到應用程序繼續工作,windows問你你想做什麼。

我試圖按照這個Microsoft Link,但如果我在消息框中單擊「確定」,應用程序關閉。

回答

4
private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     if (e.CloseReason.Equals(CloseReason.WindowsShutDown)) 
     { 
      if (MessageBox.Show("You are closing this app.\n\nAre you sure you wish to exit ?", "Warning: Not Submitted", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Stop) == DialogResult.Yes) 
       return;  
      else  
       e.Cancel = true; 
     } 
    } 
+0

感謝Bibhu它的工作!你忘了初始化事件: this.FormClosing + = 還有一個問題:如何編輯Windows Vista和7消息:「該程序阻止Windows註銷」? – Michel

0

儘管不建議延遲windows關機,但可以使用關機腳本。您可以使用gpedit.msc配置文件來配置您自己的腳本文件。 我已經讀過這些腳本可以將Windows關機延遲到10分鐘。

我希望它可以幫助