[英]How to return a value when the Close button [X] is clicked using the MessageBox? (C#)
在C#中使用MessageBox時,如果最終用戶單擊帶有標簽的按鈕“是”,“否”或“取消”,我們可以控制應用程序的操作,如下所示:
DialogResult overwriteDialog = WinForms.MessageBox.Show("Do you want to overwrite?", "Overwriting", MessageBoxButtons.YesNoCancel);
if (overwriteDialog == DialogResult.Yes)
{
#do something
}
else if (overwriteDialog == DialogResult.No || overwriteDialog == DialogResult.Cancel)
{
#do something else
}
這里的問題是,如果單擊關閉[X]按鈕,如何使另一個if語句使代碼執行其他操作?
如果用戶單擊close [X]按鈕,似乎無法返回值,但是我們可以簡單地添加其他else語句,因為這將是約束if語句中所有其他按鈕之后的最后一個選項。
對@preciousbetine和@SLaks的回答的學分
我認為當您單擊紅色關閉按鈕時,您將獲得DialogResult.None值。 盡管如此,您仍可以通過以下參數之一為MessageBox提供默認值( https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.messagebox.show?view=netframework-4.7.2 #System_Windows_Forms_MessageBox_Show_System_Windows_Forms_IWin32Window_System_String_System_String_System_Windows_Forms_MessageBoxButtons_System_Windows_Forms_MessageBoxIcon_System_Windows_Forms_MessageBoxDefaultButton_System_Windows_Forms_MessageBoxOptions_System_String_ )。 如果指定了default,則將獲得默認值而不是None值。
MSDN: https : //docs.microsoft.com/zh-CN/dotnet/api/system.windows.forms.dialogresult? view = netframework- 4.7.2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.