有没有一种简单的方法来检测.NET应用程序何时获得或失去焦点?.NET应用程序失败并获得焦点的事件
回答
你正在寻找的事件是Form.Activated和Form.Deactivated
对于WPF,FocusChanged在窗口上。 Winforms中应该有类似的事件。你可以在Visual Studio上找到使用intellisense。
激活/禁用似乎是标准的。
在的WinForms它Activated
处理的Control.GotFocus和Control.LostFocus事件的主要窗口。
用途:
this.LostFocus
和:
this.GotFocus
在最父窗体/窗口
我好奇这种技术如何在各种条件下工作一个MDI应用程序。事实证明,这不适用于所有情况。
如果你的应用程序是一个MDI应用程序,那么当应用程序本身丢失/重新获得焦点时(如其他答案中所述),如果MDI表单中的非模态窗体具有焦点,则主MDI表单将失去/获得焦点。但是,如果模式对话框打开(对应用本身模式),则主MDI表单不会松动/获得焦点(至少激活/停用的事件似乎不会触发)。换句话说,如果你所处理的只是MDI表单的激活/停用事件,那么当应用程序失去/获得焦点时,如果模态表单具有焦点,则可能会错过。
因此,看起来这个工作,你需要同时处理MDI窗体的激活/停用事件以及模态打开的任何窗体上的事件(通过ShowDialog)。
您还可以通过[检测哪个应用程序具有焦点] [1]来过滤停用事件,您可以将其放入主窗口的停用处理程序中,模态对话应在退出时返回焦点。 [1] http://stackoverflow.com/questions/2183541/c-detecting-which-application-has-focus – 2012-11-19 17:49:48
- 1. 重点获得和焦点丢失事件
- 2. 失去焦点后无法获得鼠标点击事件
- 3. WPF应用程序获取焦点事件
- 4. c#检测应用程序的焦点丢失焦点
- 5. .NET/Win32 - 检测属于另一个应用程序的窗口何时获得焦点的事件
- 6. Delphi应用程序丢失焦点
- 7. WM_SETFOCUS,获取刚刚失去焦点的应用程序
- 8. UITextField失去焦点事件
- 9. jQuery失去焦点事件
- 10. 如果onblur事件验证失败,则焦点丢失
- 11. 删除焦点并获得焦点在控件上
- 12. 如何获得模糊事件后的焦点事件?
- 13. Flash应用程序接收没有焦点的鼠标事件
- 14. 用户控件获得焦点时发现的事件?
- 15. Phonegap deviceready事件只在应用程序失去焦点时触发
- 16. 捕获我的WPF应用程序中没有焦点的按键事件
- 17. WPF ListViewItem失去焦点事件 - 如何获取事件?
- 18. JSF - 验证失败的焦点组件
- 19. VSTO:应用程序焦点
- 20. 如何获知非焦点应用程序中的鼠标/键盘事件?
- 21. 背景Geolocation ServiceWorker - onMessage当Web应用程序重新获得焦点时的事件顺序
- 22. 当片段失去焦点并重新获得AppCompatActivity的关注
- 23. Android应用程序失败并在点击按钮后停止
- 24. 没有失去焦点事件jQuery的
- 25. 黑莓浆果有焦点和失去焦点的事件吗?
- 26. 关于失去/重新获得焦点的GTKMM/C++窗口事件?
- 27. 该输入失去焦点,并获得价值
- 28. textBox获得焦点
- 29. listView获取焦点和点击事件
- 30. (Jquery/Javascript)事件句柄 - 失去焦点
感谢 - 这是我的倾向,但我不知道它是否会工作,因为该应用程序有一个选项卡式界面。我会检查它。 – subrama6 2009-05-26 15:30:32