关闭带空格的消息框

时间:2017-03-31 13:27:08

标签: c# .net messagebox keydown

简单的问题,但无法弄清楚如何做到这一点。

我有一个只有一个“OK”按钮的消息框,它通过在输入上捕获无效的数据类型/格式而出现。

我希望按下Space(并且只有空格)后按“OK”按钮

我想我需要某种事件,它会检查此消息框上是否按下空格按钮(但仅限)。但不知何故,这对于这么简单的任务来说听起来有点不方便。

1 个答案:

答案 0 :(得分:0)

好吧,从你的标签猜测。我想你在谈论C#中的Window Forms。 是的,有办法做到这一点。但不像消息框那么简单。您所要做的就是:

  • 创建Form并将其设计为MessageBox
  • 覆盖PreviewKeydown事件处理程序(或覆盖KeyPress事件处理程序也可以)
  • 然后在按下Space键时匹配案例。

下面的示例代码为您提供了一个想法:

switch (e.KeyCode)
{
    case Keys.Space:
       //Call The Event handler for Ok Button
        e.Handled = true;
        e.Suppressed = true;
        break;
}

(注意:您还可以为PreviewKeyDown事件创建新的事件处理程序,而不是覆盖。)

  • 当您想要将其显示为消息框时,请在显示表单而不是Show()方法时使用ShowDialog()
相关问题