C#DialogBox和DialogResult

sik*_*kas 5 c# visual-studio-2010

我想获得用户点击的DialogBox按钮......但是当我使用DialogResult时,我收到此错误

'System.Windows.Window.DialogResult' is a 'property' but is used like a 'type'
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用DialogResult?

好的,我设法解决了它.

MessageBoxResult Result = MessageBox.Show("Message Body", @"Caption/Title", MessageBoxButton.YesNo);
        switch (Result)
        {
            case MessageBoxResult.Yes:
                MessageBox.Show("Yes Pressed!!");
                break;
            case MessageBoxResult.No:
                MessageBox.Show("No Pressed!!");
                break;
        }
Run Code Online (Sandbox Code Playgroud)

djd*_*d87 3

更新:刚刚意识到您使用的是 WPF,而不是 WinForms。下面是 WPF 中 DialogResult 的正确实现:

MyDialog dialog = new MyDialog();
bool? dialogResult = dialog.ShowDialog();
if (dialogResult.HasValue && dialogResult.Value)
{
   // User clicked OK
}
else
{
   // User clicked Cancel"
}
Run Code Online (Sandbox Code Playgroud)

这里有一个很好的教程。

听起来好像您错误地使用了表单的DialogResult属性。您应该执行类似以下操作:

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

您可以在此处找到完整的DialogResult枚举细目。