gpt4 book ai didi

winforms - 当 WinForms 控件托管在 VB6 窗体中时,如何使 ToolStripMenuItem 快捷键起作用

转载 作者:行者123 更新时间:2023-12-01 06:48:50 26 4
gpt4 key购买 nike

我们有一个场景,我们暴露了一组 WinForms UserControls通过 COM 到旧版 VB6 应用程序。我们有 3 个不同的控件,它们具有 MenuStrip在它上面有 Control + F 快捷键映射到一个菜单项,该菜单项在输入快捷方式时调用控件特定的查找项对话框。当我们尝试在我们的 WinForms shell 中测试此代码时,当所有 3 个控件都存在时,会弹出相应的对话框(位于事件 MdiChild 中的那个),但在 VB6 主机中通常会出现错误的对话框(似乎总是对话框对于创建的第一个控件)。

我相当确定这与消息泵等有关,但我似乎无法弄清楚如何确保正确的 ToolStripMenuItem当我们输入快捷键时被调用。

我知道使用全局/单例的选项 ShortcutKey覆盖 ProcessCmdKey 的经理/服务是一种可能性,但这将是我们最后要依靠的手段。我只是觉得需要启动一个消息泵。

最佳答案

这可能不适合您的需求。它可能只适用于 VB6。但是你有没有考虑过让 VB6 使用标准菜单,让它保持键盘快捷键,并适本地触发?然后您可以简单地隐藏单个菜单(但它们仍应触发其事件)。

关于winforms - 当 WinForms 控件托管在 VB6 窗体中时,如何使 ToolStripMenuItem 快捷键起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1681243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com