。
我有一个 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事件。由于某种原因,它们只有在窗口中至少有一个可重点控制并且集中精力时才会提高。