DialogResult MessageBox 禁用 Space 键(空格键)提交答案

DialogResult MessageBox disable Space key (spacebar) from submitting answer

我使用下面的代码创建了一个带有对话的 MessageBox。默认情况下,yes 按钮具有焦点。如果我不小心按了 Space 键,对话框会理解我选择了是。只有当我按下 return 键触发事件时,我才想要它。有没有办法禁用 Space 键提交答案?

DialogResult dialogResult = MessageBox.Show(sMsg, "Title", MessageBoxButtons.YesNo);
if(dialogResult == DialogResult.Yes)
{
   // do something
}
else if (dialogResult == DialogResult.No)
{
  // do something else
}                        

试试这个:

MessageBox.Show(this, "MessageText", "MessageCaption", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No, MessageBoxOptions.None);

"MessageBoxResult.No"参数为默认对话结果值。

Visual Vincent 澄清说最好创建我自己的对话框窗体,而不是依赖 MessageBox.Show()。