【问题标题】:Shortcut keys do not work in a Custom Panel in a Visio 2013 add-in快捷键在 Visio 2013 加载项的自定义面板中不起作用
【发布时间】:2019-09-12 02:43:03
【问题描述】:

我已经为 Visio 创建了加载项,但我遇到了一些与自定义面板相关的问题。为了在 Visio 中实现自定义面板,我使用了下一个链接中描述的解决方案:

How can you add a Custom Panel in a Visio 2013 add-in?

我的自定义面板包含文本框和按钮。按钮工作正常,我可以在任何 TextBox 中输入文本,但我无法使用快捷键 (Ctrl+V) 插入文本。当我键入 Ctrl+V 时,我的文本将插入到打开文档的新形状中。其他命令如 Ctrl+X Ctrl+A 等也不起作用。 我该如何解决这个问题?

【问题讨论】:

    标签: c# .net visio


    【解决方案1】:

    Visio 会在许多键盘事件到达您的加载项之前拦截它们。它提供了“KeystrokeMessageForAddon”事件。您可以检查它如何在我的一个 Visio 项目中使用(它专门用于浏览器控制,但我希望它能给您一个想法) https://github.com/nbelyh/HtmlFormData/blob/master/HtmlFormData/HtmlFormData/ShortcutManager.cs

    【讨论】:

    • 感谢您的回答。您的加载项运行良好。我曾尝试在我的应用程序中使用“OnKeystrokeMessageForAddon”事件,但从未收到。我还尝试在 Visio 的事件监视器中允许“OnKeystrokeMessageForAddon”事件,但它对我没有帮助。你有什么想法吗?
    • @OleksiyKovalchyk 好吧,你订阅了这个活动吗? github.com/nbelyh/HtmlFormData/blob/master/HtmlFormData/…偶数监视器需要在options中添加(工具->选项->事件)
    • 是的,当然。我已经完成了这一切,但没有发生事件。
    • 很难说,尤其是没有看到代码..通常它确实会发生。也许在 Visio 设置中禁用了事件?
    • 感谢您的帮助我已经解决了事件的问题。我的项目由 Add-in Express 创建,这就是我使用它提供的 Interop.Visio.dll 的原因。但是当库更改为 Microsoft.Office.Interop.Visio.dll 时,“OnKeystrokeMessageForAddon”事件开始接收。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多