我想创建一个问题框(MessageBox.Show),但我不知道如何获取对话框结果。我看了所有帖子,视频,但似乎对2017年的.NET(Wpf)版本不满意!
(基本上我想在InitializeComponents()之后问一个问题)
这是我的代码。
答案 0 :(得分:2)
如果您使用的是WPF,MessageBox.Show()
会返回MessageBoxResult
:
MessageBoxResult result = MessageBox.Show("asd", "xcvxcv", MessageBoxButton.OKCancel);
if (result == MessageBoxResult.OK)
MessageBox.Show("Ok was selected");
如果您使用的是Windows窗体MessageBox.Show()
会返回DialogResult
:
DialogResult result = MessageBox.Show("test", "bla bla", MessageBoxButtons.OKCancel);
if (result == DialogResult.OK)
MessageBox.Show("Ok was selected");
我不是WPF专家,但是可能还有另一个问题:您的代码示例显示您正在构造函数中打开MessageBox
。两次显示您的表单或处理您选择的代码崩溃时,这可能是一个问题。
考虑在加载表单时将其移至事件:
public MainWindow()
{
InitializeComponent();
this.IsEnabled = false;
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MessageBoxResult result = MessageBox.Show("asd", "xcvxcv", MessageBoxButton.OKCancel);
if (result == MessageBoxResult.OK)
MessageBox.Show("Ok was selected");
this.IsEnabled = true;
}