C#MessageBox对话框结果

bio*_*iox 45 c# dialog messagebox

我想做一个MessageBox确认.这是消息框:

MessageBox.Show("Do you want to save changes?", "Confirmation", messageBoxButtons.YesNoCancel);
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情(伪代码):

if (MessageBox.Result == DialogResult.Yes)
    ;
else if (MessageBox.Result == DialogResult.No)
    ;
else
    ;
Run Code Online (Sandbox Code Playgroud)

我怎么能在C#中做到这一点?

dav*_*d.s 116

DialogResult result = MessageBox.Show("Do you want to save changes?", "Confirmation", MessageBoxButtons.YesNoCancel);
if(result == DialogResult.Yes)
{ 
    //...
}
else if (result == DialogResult.No)
{ 
    //...
}
else
{
    //...
} 
Run Code Online (Sandbox Code Playgroud)


scz*_*vos 11

您也可以在一行中执行此操作:

if (MessageBox.Show("Text", "Title", MessageBoxButtons.YesNo) == DialogResult.Yes)
Run Code Online (Sandbox Code Playgroud)

如果您想在顶部显示消息框:

if (MessageBox.Show(new Form() { TopMost = true }, "Text", "Text", MessageBoxButtons.YesNo) == DialogResult.Yes)
Run Code Online (Sandbox Code Playgroud)


Xtr*_*ity 6

如果您使用的是WPF并且之前的答案没有帮助,您可以使用以下方法检索结果:

var result = MessageBox.Show("Message", "caption", MessageBoxButton.YesNo, MessageBoxImage.Question);

if (result == MessageBoxResult.Yes)
{
    // Do something
}
Run Code Online (Sandbox Code Playgroud)