如果用户点击“是”,该怎样处理消息框回复示例?如果用户点击“否”,该怎样处理另一件事情?
以下是稍微修改过的示例,来自文档:
const string message =
"Are you sure that you would like to close the form?";
const string caption = "Form Closing";
var result = MessageBox.Show(message, caption,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
// If the no button was pressed ...
if (result == DialogResult.No)
{
//Do something for No
}
else if (result == DialogResult.Yes)
{
//Do something else for Yes
}
补充说明: 如果你仍在使用 .NET 2.0 并且没有访问 var
关键字的权限,则需要将 result
声明为 DialogResult
。即:
DialogResult result = MessageBox.Show(...);
const string message =
"Are you sure that you would like to close the form?";
const string caption = "Form Closing";
MessageBoxResult result = MessageBox.Show(message, caption,
MessageBoxButton.YesNo,
MessageBoxImage.Question);
if (result == MessageBoxResult.No)
{
// Do something for No
}
else if (result == MessageBoxResult.Yes)
{
// Do something else for Yes
}
由于标签中声明了 WPF 而非 WinForms,因此您需要像这样处理 MessageBox:
MessageBoxResult result = MessageBox.Show("Foo Bar?", "Confirmation", MessageBoxButton.YesNoCancel);
if (result == MessageBoxResult.Yes)
{
// yeah yeah yeah stuff
}
else if (result == MessageBoxResult.No)
{
// no no no stuff
}
else
{
// forget about it
}
DialogResult
:SomeDialog dialog = new SomeDialog();
dialog.ShowDialog();
if (dialog.DialogResult.HasValue && dialog.DialogResult.Value)
MessageBox.Show("Clicked ok");
else
MessageBox.Show("Clicked cancel");
if (MessageBox.Show("Are you sure you want to close the window ?", "Question", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No)
{
//do NO stuff
}
else
{
//do YES stuff
}
DialogResult result = MessageBox.Show("Some Text", "Title", MessageBoxButtons.YesNoCancel);
if(result == DialogResult.Yes)
{
// do something
}
这里是一个例子:
DialogResult userSelection = MessageBox.Show("Some question","Question",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
// Do something with userSelection
WPF中的子窗口是异步操作。您必须处理Close事件,然后在close事件内部执行逻辑。