我正在构建一个基于嵌入式浏览器的 powerpoint 加载项。但是,出于某种原因,标准快捷方式不起作用。WebBrowserShortcutsEnabled 属性设置为 true(尽管我什至尝试将其设置为 false,以防我处于倒退的世界)。将其剥离到裸露的骨头,我的复制步骤是:
- 创建一个新项目,选择 PowerPoint 2013 加载项项目类型
- 将新的用户控件添加到项目中
- 将 WebBrowser 添加到该控件,将其从工具箱中拖动
- 在属性面板中将该 WebBrowser 上的 URL 设置为例如 google
将此代码添加到 ThisAddIn_Startup 方法,以便面板立即显示:
private void ThisAddIn_Startup(object sender, System.EventArgs e) { var ctrl = new UserControl1(); var ctp = this.CustomTaskPanes.Add(ctrl, "test"); ctp.Visible = true; }
在 PowerPoint 中的 WebBrowser 中键入可以正常工作,但 Ctrl+X/C/V、Del、Tab 等均无效。
我尝试在 Web 浏览器上覆盖 OnKeyPress 方法,以及添加 PreviewKeyDownEventHandler,但是这两种方法中的断点都没有被命中。我还验证了 WebBrowserShortcutsEnabled 在运行时仍然是正确的,并且没有以某种方式被更改。
我开始怀疑这可能是环境问题,但我不知道根本原因是什么。我正在运行面向 .NET 4.5 的 Windows 8.1、VS 2012 和 PowerPoint 2013。我还尝试在 Windows 7 上的 PowerPoint 2010 上安装相同的基本插件,结果相同。
有没有人知道我可能出了什么问题?
谢谢