如何在Office自定义任务窗格中的WebBrowser控件中启用键盘事件

3
我有一个在Visual Studio创建的Microsoft Office应用程序级添加程序中自定义任务窗格中显示的WebBrowser控件。在WebBrowser中显示的网页无法接收可以由JavaScript代码处理的键盘事件(例如KeyUp)。相同的页面在一个可比较的Form中显示的WebBrowser中会接收到键盘事件。WebBrowser控件本身似乎不会公开与键盘输入相关的任何事件,并且我似乎无法通过向作为自定义任务窗格添加的UserControl添加事件处理程序来处理键盘事件。
我已创建一个最小示例-Visual Studio解决方案-以重现问题
有没有办法将键盘事件传递给网页?
2个回答

0

不幸的是,在我上传的最小示例中,这似乎在任务窗格中的浏览器中行不通。 - Jacob Bundgaard
这对我来说在我的单个示例中是有效的。唯一的问题是当焦点在单元格(编辑模式)中时,它将无法工作。您只需要退出编辑模式(通过ESC),然后Web视图就可以操作了。 - Cloud Xu

0

嗯,这很奇怪。强烈建议不要在UserControl中嵌入WebBrowser控件。然而,对于VSTO任务窗格,您别无选择,必须使用UserControl - 而我继承了一个使用该组合的项目。但是,在使用Add-in Express重新构建该项目时,我必须停止使用带有WebBrowser控件的UserControl,以便使像双击选择网页文本(以及其他一些事情)之类的功能正常工作。这个控件有许多奇怪的行为。 - Eric Legault
嗯...也许我得彻底停止使用WebBrowser控件,转而使用类似于Chromium嵌入式框架的东西。 - Jacob Bundgaard
谢谢你提供的Chromium提示。另一个选择是Gecko。 - Eric Legault
不用谢。是的,我也看到了GeckoFX可能是一个选择。我会暂时保留这个问题,看看是否有人能够快速修复WebControl。 - Jacob Bundgaard
嗨 @JacobBundgaard,你找到解决方案了吗?CEF 的工作更好吗? - Cloud Xu
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接