MessageBox按钮?

时间:2011-03-24 03:01:54

标签: c# button messagebox

如果按下消息框上的“是”按钮,我怎么说这样做,那个和那个?在C#。

6 个答案:

答案 0 :(得分:63)

  1. 您对MessageBox.Show的调用需要通过MessageBoxButtons.YesNo才能获得 / 按钮而不是 OK 按钮。

  2. 将该调用的结果(将阻止执行直到对话框返回)与DialogResult.Yes进行比较....

  3. if (MessageBox.Show("Are you sure?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
    {
        // user clicked yes
    }
    else
    {
        // user clicked no
    }
    

答案 1 :(得分:10)

如果你真的想要Yes和No按钮(并假设WinForms):

void button_Click(object sender, EventArgs e)
{
    var message = "Yes or No?";
    var title = "Hey!";
    var result = MessageBox.Show(
        message,                  // the message to show
        title,                    // the title for the dialog box
        MessageBoxButtons.YesNo,  // show two buttons: Yes and No
        MessageBoxIcon.Question); // show a question mark icon

    // the following can be handled as if/else statements as well
    switch (result)
    {
    case DialogResult.Yes:   // Yes button pressed
        MessageBox.Show("You pressed Yes!");
        break;
    case DialogResult.No:    // No button pressed
        MessageBox.Show("You pressed No!");
        break;
    default:                 // Neither Yes nor No pressed (just in case)
        MessageBox.Show("What did you press?");
        break;
    }
}

答案 2 :(得分:6)

if(DialogResult.OK==MessageBox.Show("Do you Agree with me???"))
{
         //do stuff if yess
}
else
{
         //do stuff if No
}

答案 3 :(得分:2)

.NET 4.5的正确答案的更新版本将是。

if (MessageBox.Show("Are you sure?", "Confirm", MessageBoxImage.Question) 
    == MessageBoxResult.Yes)  
{
// If yes
}
else  
{
// If no
}

此外,如果要将按钮绑定到视图模型中的命令,可以使用以下命令。这与MvvmLite兼容:

public RelayCommand ShowPopUpCommand
{
   get
   {
   return _showPopUpCommand ??
      (_showPopUpCommand = new RelayCommand(
         () =>
               {
                // Put if statement here
               }
      }));
   }
}

答案 4 :(得分:0)

检查一下:

                     if (
 MessageBox.Show(@"Are you Alright?", @"My Message Box",MessageBoxButtons.YesNo) == DialogResult.Yes)
                    {
                        //YES ---> Ok IM ALRIGHHT
                    }
                    else
                   {
                   //NO --->NO IM STUCK
                    }

此致

答案 5 :(得分:-1)

这种方式可以在按下“是”的同时检查状况。或者' NO' MessageBox窗口中的按钮。

DialogResult d = MessageBox.Show("Are you sure ?", "Remove Panel", MessageBoxButtons.YesNo);
            if (d == DialogResult.Yes)
            {
                //Contents
            }
            else if (d == DialogResult.No)
            {
                //Contents
            }