繁体   English   中英

如何通过Windows HotKey事件赋予文本框焦点

[英]How to give a text box focus from a Windows HotKey event

我有一个WPF应用程序,它的窗口很小。 它位于台式机上,但体积很小。 我已经通过RegisterHotKey Win32 API设置了AltGr + A或Ctrl + Alt + A的热键。

我的问题是,当我在另一个程序中并使用快捷方式时,热键有效,并且窗口通过winProc激活,并且在窗口焦点上给出了一个文本框,我也使用Keybord.Focus(textBox)

我的意图是用户可以立即开始输入。 不幸的是,除非我真的非常快地松开了按键组合,否则窗口/文本框会失去焦点。

我试图阻止文本框失去焦点,但这并不能阻止窗口或整个应用程序失去焦点,这是正在发生的事情。

我应该怎么做?

我发现这取决于当前正在运行的其他具有焦点/处于活动状态的程序。 实际上,当按下热键时,我的应用程序试图窃取焦点,这并不是真正需要的。 我发现微软自己的办公程序真的很讨厌被盗。

我的解决方案是使用Win32 API将我的应用设置为活动应用。 但是正如我所说,这并不总是可行的。 关于这一点有很多文章,但是这里有一个主题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM