讓窗體獲得焦點,一定會有您用到的時候

2021-05-07 22:20:32 字數 939 閱讀 9992

應用場景: 當我們有個窗體中的資料發生了變化而此窗體又沒有獲得焦點(不是使用者操作的當前視窗)的時候,我們希望它獲得焦點,這樣使用者就可以立刻發現它上面的資料發生了變化。

新建乙個window應用程式,會建立form1,再新增乙個timer(timer1),設定如下屬性:

然後新增timer1的tick事件函式,完整**如下:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.text;

using system.windows.forms;

namespace test

[system.runtime.interopservices.dllimport("user32.dll", entrypoint = "getforegroundwindow", charset = system.runtime.interopservices.charset.auto, exactspelling = true)]

public static extern intptr getf();             //獲得本窗體的控制代碼

[system.runtime.interopservices.dllimport("user32.dll", entrypoint = "setforegroundwindow")]

public static extern bool setf(intptr hwnd);    //設定此窗體為活動窗體

private void timer1_tick(object sender, eventargs e)}}

執行看看,你會發現當tick事件發生時,本視窗總會跳出來告訴你--我獲得焦點了

讓元素獲得焦點

一般而言,只有表單元素與鏈結才能使用focus與blur事件,因此jquery對於許多元素就歇菜了。但只要為元素節點設定乙個tabindex屬性,非表單元素也可能使用這兩種事件。但預設能使用焦點事件的元素一般也支援tabindex事件。為什麼這麼說呢?因為實質上,預設支援焦點事件的元素並不只這些,i...

C 實現讓窗體獲得焦點的方法示例

開發環境 visual studio net 2005 下的windows form application 應用場景 當我們有個窗體中的資料發生了變化而此窗體又沒有獲得焦點 不是使用者操作的當前視窗 的時候,我們希望它獲得焦點,這樣使用者就可以立刻發現它上面的資料發生了變化。新建乙個window應...

VB 點選控制項,窗體不獲得焦點

首先建立乙個button空間。然後複製以下 option explicit rem 轉移輸入焦點的宣告 private declare function getwindowlong lib user32 alias getwindowlonga byval hwnd as long,byval ni...