簡體   English   中英

如何知道是否未選擇表單?

[英]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
        }

請參閱: 在Get語句中使用GetForegroundWindow結果檢查用戶的當前窗口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM