Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 窗口对焦错误_C#_.net_Wpf - Fatal编程技术网

C# 窗口对焦错误

C# 窗口对焦错误,c#,.net,wpf,C#,.net,Wpf,我有一个窗口,其中有一个框架,其中包含来自另一个项目的页面。如果用户按下Enter按钮,我希望得到通知。我面临的问题是: 当我按下Enter按钮时,不会触发事件,而是会出现图片中显示的上下文菜单。我用Focus()和Keyboard.SetFocus()尝试了几种方法,但没有任何效果 主窗口最大化,窗口样式设置为“无”,但即使我更改它,也不会更改任何内容。如果您需要更多信息,请随时询问 if (e.Key == Key.Enter) { ValidateCredentials(); }

我有一个窗口,其中有一个框架,其中包含来自另一个项目的页面。如果用户按下Enter按钮,我希望得到通知。我面临的问题是:

当我按下Enter按钮时,不会触发事件,而是会出现图片中显示的上下文菜单。我用Focus()和Keyboard.SetFocus()尝试了几种方法,但没有任何效果

主窗口最大化,窗口样式设置为“无”,但即使我更改它,也不会更改任何内容。如果您需要更多信息,请随时询问

if (e.Key == Key.Enter)
{
    ValidateCredentials();
}

问题如下:根据需要,必须使用功能键F1到F12在应用程序中导航。F10键默认激活菜单栏。 F10是上面页面的导航键。因此,当我按F10键导航到页面时,菜单栏获得了焦点。当我按Enter键时,菜单栏被打开


解决方案是将F10键设置为已处理。

更好的答案是使用正确的事件

您需要使用来捕捉击键。KeyPress或KeyUp事件在管道中太晚,并被引用回默认操作系统上下文菜单行为。你可以使用功能键,但这是一个用户会鄙视的黑客(许多键盘不再有功能键)

使用鼠标而不是键盘查看此示例,应用相同的设备输入逻辑:

1)哪个事件未触发?(有许多与键相关的事件)2)能否显示事件处理程序的代码?3) 你能发布你整个窗口的截图,让我们更清楚地看到你想要实现的目标吗?谢谢