检查用户是否按是否取消的代码是什么? (C#)

时间:2011-04-17 11:11:08

标签: c# winforms messagebox

我正在使用messageBoxButton.YesNoCancel按钮,我想知道用户按哪个按钮

我该怎么做?

这是代码:

 MessageBox.Show("this item is already in the system, do you want to add it anyway ?",
                 "Question",MessageBoxButtons.YesNoCancel);

感谢...

6 个答案:

答案 0 :(得分:6)

您可以将答案存储在DialogResult对象中。然后你可以分析这样的答案:

       DialogResult result = MessageBox.Show("this item is already in the system, do you want to add it anyway ?", "Question",MessageBoxButtons.YesNoCancel);

       if (result == DialogResult.Yes) {
           //your code here
       } else if (result == DialogResult.Cancel) {
           //your code here
       } else if (result == DialogResult.No) {
          // your code here
       }

答案 1 :(得分:5)

来自http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx

        result = MessageBox.Show(message, caption, buttons);
        if (result == System.Windows.Forms.DialogResult.Yes)
        {
            // Closes the parent form.
            this.Close();
        }

答案 2 :(得分:2)

DialogResult dialogResult = MessageBox.Show("your question?", 
                      "window title", MessageBoxButtons.YesNo);
switch(dialogResult){
   case DialogResult.Yes: break;
   case DialogResult.No: break;
}

所有可能的对话结果:

  • DialogResult.Yes
  • DialogResult.No
  • DialogResult.Cancel
  • DialogResult.Abort
  • DialogResult.Ignore
  • DialogResult.None
  • DialogResult.Retry
  • DialogResult.OK

请参阅MessageBox MSDN条目。

答案 3 :(得分:2)

MessageBox.Show function返回类型DialogResult的值,指示用户点击的按钮。通过检查该返回值,您可以确定他们选择了哪一个。

DialogResult result = MessageBox.Show("this item is already in the system, do you want to add it anyway ?", "Question",MessageBoxButtons.YesNoCancel);

if (result == DialogResult.Yes)
{
    // they clicked Yes
}
else if (result == DialogResult.No)
{
    // they clicked No
}
else
{
    // they clicked Cancel
}

或者,您可以使用switch语句,而不是if

答案 4 :(得分:0)

MessageBox.Show()返回一个DialogResult。

http://msdn.microsoft.com/en-us/library/0x49kd7z.aspx

http://msdn.microsoft.com/en-us/library/system.windows.forms.dialogresult.aspx

result = MessageBox.Show(...);

if(result == DialogResult.Yes)
{
}

答案 5 :(得分:0)

if (MessageBox.Show(message, caption, buttons) == System.Windows.Forms.DialogResult.Yes) // or No or Cancel
        {

        }