【发布时间】:2012-02-28 18:52:59
【问题描述】:
我写了一个小表单应用程序,它只包含文本框。我通过使用低级键盘挂钩启用快捷键,以便在需要时为应用程序提供焦点。 一切正常,我第一次按下快捷键,即(左控制键)+(左控制键)应用程序获得正确的控制(焦点)。 但是当我停用并重做快捷键时,任务栏上的应用程序图标开始闪烁并且表单没有获得焦点,标题栏显示为灰色。
更多信息:
- 停用时,表单的不透明度会降低,但仍保持在顶部,因此表单始终显示在屏幕上
- 此表单是从应用程序中的另一个类激活的。
- 在激活时表单的不透明度增加,因此现在非常清晰可见
我通过使用 form.Activate() 将重点放在应用程序上,我也尝试过 from.Visible 但没有运气。 仅第一次激活,任务栏图标闪烁后提示。
有人知道为什么会这样吗?
【问题讨论】:
-
这是正常的,你不能把焦点从另一个应用程序上偷走。您应该使用 RegisterHotKey() 而不是钩子。