[英]How to know if a form is not selected?
區分這種簡單的事情有很多問題。
我需要知道當前是否存在一種形式,即接收關鍵條目的形式。
我沒有辦法知道。
我可以檢查是否沒有最小化。 但是然后它可能就在其他窗口的后面,或者只是未被選中(例如,它是openend的,桌面在后面,您單擊桌面,然后您仍然看到該應用程序,但是它沒有收到關鍵輸入)。
物業focus
對此毫無意義。
這是代碼
protected override void OnActivated(EventArgs e)
{
base.OnActivated(e);
if (this.Focused)
{
gotFocus = true;
// never reaches tis
}
檢查窗口是否為當前活動窗口。
碼:
using System.Runtime.InteropServices; // To use DllImport
...
[DllImport("user32.dll")]
private static extern IntPtr GetForegroundWindow();
if ((IntPtr)GetForegroundWindow() == this.Handle)
{
// Do stuff
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.