Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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# WPF windows窗体主机键盘事件_C#_Wpf_Winforms_Winforms Interop - Fatal编程技术网

C# WPF windows窗体主机键盘事件

C# WPF windows窗体主机键盘事件,c#,wpf,winforms,winforms-interop,C#,Wpf,Winforms,Winforms Interop,这可能是一个简单的问题,但我一直无法找到一个快速的答案 我有一个WPF应用程序,它有一个承载GeckoFX组件的Windows窗体控件(其实并不重要) 我想做的是捕获Windows窗体控件内的键关闭事件,并为某些特定的键组合获取WPF控件的焦点。 如果我想从整个WPF应用程序窗口(甚至在Windows窗体控件内)捕获事件,该怎么办? 我尝试处理KeyDown事件和PreviewKeyDown事件,但没有效果 我想知道的是这是否可能,以及应该如何做到。如果需要,我可以发布一些代码。即使表单上的向下

这可能是一个简单的问题,但我一直无法找到一个快速的答案

我有一个WPF应用程序,它有一个承载GeckoFX组件的Windows窗体控件(其实并不重要)

我想做的是捕获Windows窗体控件内的键关闭事件,并为某些特定的键组合获取WPF控件的焦点。 如果我想从整个WPF应用程序窗口(甚至在Windows窗体控件内)捕获事件,该怎么办? 我尝试处理KeyDown事件和PreviewKeyDown事件,但没有效果


我想知道的是这是否可能,以及应该如何做到。如果需要,我可以发布一些代码。

即使表单上的向下键也适用于非特殊键(如箭头键)。使用PreviewKeyDown捕获这些内容,或者使用

特别是对于GeckoWebBrowser,我必须使用PreviewKeyDown。此外,我还添加了一行,以便在设计模式下不会中断:

private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
  if (DesignMode) return;
  if (!e.IsInputKey && e.Control && e.KeyCode == Keys.S) {
    DoStuff();
    return;
  }
}