1

我正在构建一个基于嵌入式浏览器的 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 上安装相同的基本插件,结果相同。

有没有人知道我可能出了什么问题?

谢谢

4

1 回答 1

0

似乎将 Web 浏览器放在 Windows 窗体中,并将​​其显示为模式窗口,而不是使用自定义任务窗格,可以使快捷方式按预期工作。

于 2013-10-23T12:14:48.887 回答