gpt4 book ai didi

c# - 子组件的应用程序快捷键 "swallowed"

转载 作者:太空宇宙 更新时间:2023-11-03 11:46:05 29 4
gpt4 key购买 nike

在我的主应用程序表单中,我有许多菜单和工具栏按钮功能,我为其分配了快捷键,例如 F10F11F12。除了某些控件具有焦点的情况(例如第 3 方网格控件)外,快捷方式效果很好。在那种情况下,F11 或其他快捷方式由该控件处理并被吞没......它们永远不会进入我的主 UI 事件处理程序。

我真的不想,也不能用第 3 方控件修改每个控件(有几十个)以传递我的 F* 键。我想 Hook 应用程序的消息泵,但这似乎是一个严厉的解决方案。有没有更好、更聪明的方法来处理这种情况?

(这是一个 .NET WinForms MDI (2.0) 应用程序,它托管多种自制组件和第 3 方组件。)

最佳答案

如何将窗体的 KeyPreview 属性设置为 True?您应该能够拦截您想要的 key 或让它们通过。

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview.aspx

如果这不起作用,您可以覆盖 WndProc 并直接处理消息,但这会花费更多精力。

关于c# - 子组件的应用程序快捷键 "swallowed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3419499/

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