我有一个KeyDown
事件处理程序(由Visual Studio创建),用于关闭窗口的对话框:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape)
{
this.DialogResult = false;
this.Close();
}
}
当我在程序中并按下Escape
键时,对话框会转到主屏幕的背面而不是关闭它。我在这个功能上加了一个断点,它永远不会出现。
之前有人发生过这种情况吗?有谁知道解决方案?
答案 0 :(得分:0)
我认为这个答案可能有所帮助: https://stackoverflow.com/a/980518/37899
基本上,如果您的对话框完全是空的并且没有聚焦控件,则不会引发KeyDown和Up事件。出于某种原因,只有当窗口中至少有一个可调焦的控件并且它集中在一起时,它们才会被提升。