对话框窗口`keydown`事件处理程序未击中(C#)



我有一个 KeyDown事件处理程序(由Visual Studio创建)用于我的对话框以关闭窗口:

private void Window_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Key == Key.Escape)
    {
        this.DialogResult = false;
        this.Close();
    }
}

当我在程序中并按Escape键时,对话框将转到主屏幕的背面,而不是关闭它。我在功能上提出了一个突破点,它永远不会击中。

以前发生这种情况吗?有人知道解决方案吗?

我认为这个答案可能会有所帮助:https://stackoverflow.com/a/980518/37899

基本上,如果您的对话框完全为空并且没有集中的控制,则不会提出键盘和UP事件。由于某种原因,它们只有在窗口中至少有一个可重点控制并且集中精力时才会提高。

相关内容

  • 没有找到相关文章

最新更新