vb程式中gotfocus事件和lostfocus事件有什麼

2022-02-28 01:19:02 字數 5639 閱讀 6780

1樓:

不一樣的:gotfocus事件是控制元件獲得焦點時發生該事件,lostfocus事件是控制元件失去焦點時發生該事件。

2樓:匿名使用者

gotfocus是獲得焦點時觸發,lostfocus是失去焦點的時候觸發。

比如:新建兩個文字框,當點選第一個文字框的時候,則觸發第一個文字框的getfocus事件,表示第一個文字框獲得了焦點,可以進行操作了。然後滑鼠點選第二個文字框的時候,第一個文字框首先觸發lostfocus事件,標明它已經失去焦點,無法進行操作。

同時第二個文字框獲得焦點,允許輸入資料進行操作

3樓:匿名使用者

一樓的回答很清楚。反正就是一個 (進入)時會觸發事件,一個是(出去)時觸發的事件

4樓:

一個是獲得焦點發生,一個是失去焦點發生

5樓:匿名使用者

gotfocus 事件 當物件獲得焦點時產生該事件;獲得焦點可以通過諸如 tab 切換,或單擊物件之類的使用者動作,或在**中用 setfocus 方法改變焦點來實現。語法private sub form_gotfocus( )private sub object_gotfocus([index as integer])gotfocus 事件包含下列部分:部分描述object一個物件表示式,其值是「應用於」列表中的一個物件。

index一個整數,用來唯一地標識一個在控制元件陣列中的控制元件。

說明通常,gotfocus 事件過程用以指定當控制元件或窗體首次接收焦點時發生的操作。例如,通過給窗體上每個控制元件附加一個 gotfocus 事件過程,就可以顯示簡要說明或狀態條資訊給外界提供指導。根據獲取焦點控制元件的不同,通過使其有效、禁止或者是顯示其它控制元件的方式,也可以提供出可視的提示。

注意 一個控制元件僅當其 enabled 和 visible 屬性都設定為 true 時才能接收焦點。為了移動焦點,在 visual basic 中要自定義鍵盤介面,對於窗體上的控制元件需設定 tab 鍵順序或指定訪問鍵。 lostfocus 事件 此事件是在一個物件失去焦點時發生,焦點的丟失或者是由於製表鍵移動或單擊另一個物件操作的結果,或者是**中使用 setfocus 方法改變焦點的結果。

語法private sub form_lostfocus( )private sub object_lostfocus([index as integer])lostfocus 事件包括下列部分:部分描述object一個物件表示式,其值是「應用於」列表中的一個物件。index一個整數,它用來唯一地標識一個在控制元件陣列中的控制元件。

說明lostfocus 事件過程主要是用來對更新進行驗證和確認。使用 lostfocus 可以在焦點移離控制元件時引進確認。這類事件過程的另一種用途與在 gotfocus 事件過程中的應用類似,可以隱藏、顯示其它物件或者使它們有效或無效。

也可使設定在該物件的 gotfocus 事件過程中的條件取反或對其進行更改。如果由 visual basic 所建立的 .exe 檔案要顯示一個由也是用 visual basic 所建立的 .

dll 檔案所建立的對話方塊,則該 .exe 檔案的窗體將得到 deactivate 和 lostfocus 事件。這可能是不希望的,因為對話方塊將不能獲得 deactivate 事件:

如果該物件是程序外的部件。

如果該物件不是用 visual basic 編寫成。

在開發環境中當呼叫一個用 visual basic 所建立的 ddl 時。

vb 中 lostfocus 和gotfocus之間有什麼區別?

6樓:匿名使用者

看字面就知道,一個是失去焦點,一個是獲得焦點

7樓:匿名使用者

lostfocus 失去焦點

gotfocus 得到焦點 《就是它被選中》

8樓:

object.lostfocus 該object失去焦點(不被選中,選中了別的object)

object.getfocus 該object獲得焦點(被選中了)

注意,這兩個是事件,只有失去焦點時和獲得焦點時才觸發。

9樓:蘇州老三石

gotfocus在控制元件獲取焦點時觸發;

lostfocus 在控制元件失去焦點時觸發

10樓:磊犇

gotfocus:當物件獲得焦點是產生該事件通常,gotfocus事件過程用以指定當控制元件或窗體首次接收焦點時發生的操作。

lostfocus:此事件是在一個物件失去焦點時發生通常,lostfocus事件過程主要是用於對更新進行驗證和確認。使用lostfocus可以在焦點移離控制元件時引進確認。

這類事件過程的另一種用途與在gotfocus事件過程中的應用類似,可以隱藏、顯示其它物件或者使它們有效或無效。也可以設定在該物件的gotfocus事件過程中的條件取反或對其進行更改。

vb按鍵的gotfocus事件和click事件有什麼區別

11樓:匿名使用者

這兩個事件是經常同是發生的,如當單擊滑鼠時往往先後觸發,但兩者有明顯的不同。

click事件是滑鼠單擊時系統將相關訊息傳遞給視窗而觸發的,直接與滑鼠的單擊動作相關。視窗的**一般是程式設計工具自動提供的框架,往往內定會獲得焦點,從而觸發getfocus,但在程式設計時我們可以修改**不讓視窗獲得焦點,從而不支觸發getfocus事件。

直接就getfocus事件來說,鍵盤操作也可觸發該事件(比如按alt+tab切換視窗,就會讓不同的視窗獲得焦點,按tab就會讓不同的控制元件獲得焦點),也可直接用setfocus直接讓該視窗獲得焦點,也就是說看起來不需要操作者的任何操作也是可以獲得焦點的。

所謂焦點,我們可以理解為系統的訊息傳遞的物件,也就是滑鼠,鍵盤等操作資訊的目的點。

比如修改桌面上的檔名,假定初始的焦點就是桌面本身,當我們第一次單擊桌面圖示時,首先桌面將獲得這個訊息,同時通過座標判斷單擊的位置為一圖示,就會將焦點定位到該圖示,此時該圖示即被選中。這時如果我們接著單擊檔名,這時單擊的訊息直接傳給了圖示,負責圖示管理的**發現單擊的位置是檔名標籤,就會將標籤轉為活動狀態,並且進一步將焦點賦給這個活動的文字框。這時如果我們敲鍵盤上的字,該訊息就會直接傳遞給這個文字框,從而輸入了文字。

當我們在桌面空白處單擊時,桌面發生click事件,會主動獲得焦點,而文字框發生失去焦點的事件,就會主動轉換到不可編輯的狀態,同時真正將磁碟上的檔名改過來。

click,lostfocus,getfocus這些事件當是由於操作者的操作產生時,與系統訊息機制有關,但也可以通過**直接產生,相當於模擬使用者操作,當然能夠直接getfocus就不需要click了,因為前者是直接的,後者還不一定能達到目的。但不可能存在直接的lostfocus,這在邏輯上講不通,因為焦點總是存在的,主動失支焦點那麼焦點交給誰?只能通過讓別的窗體得到焦點來間接產生該事件。

但是可以重寫這些事件發生時的「反應」**onclick, onlostfocus, ongetfocus,從而對該事件的發生做出反應。

12樓:匿名使用者

首先要明白「焦點」這個概念,當一個視窗,或按鈕獲得焦點,你會看到視窗最上邊的標題欄是正藍色(當然看你設定了),其他的沒有獲得焦點的視窗,標題欄會有一層白色「霧」;按鈕獲得焦點,你會看到有個亮的邊框,或其他的提示。總之,當一個視窗或按鈕或其他,獲得焦點後,你所有的操作,特別是鍵盤,將會針對具備焦點的物件而言。不知道是不是明白了焦點。

那麼,gotfocus事件,就是當視窗,或按鈕,或其他,獲得焦點時觸發的事件,那麼你就可以在這個事件裡面寫相關的程式了,比如,文字框獲得焦點,你可以馬上提示,這裡應該輸入什麼樣的東西等等。。。。。。

click就不同了,他必須是滑鼠點選,或者是獲得焦點的按鈕,按空格(不一定都這樣)時觸發的,相當於是隻有按滑鼠了才觸發。

試試吧,祝你好運

13樓:是小白啊

只有能獲得焦點控制元件在獲得焦點時才能觸發gotfocus事件

而所有能點選的控制元件都可以響應click事件,同時這個控制元件又能夠獲得焦點的話,點選後他將獲得焦點,並且接著觸發gotfocus事件

14樓:匿名使用者

1、gotfocus事件是當該空間得到焦點時發生,click事件是在滑鼠點選該控制元件時發生。

2、當滑鼠點選某控制元件是一般焦點就會移到該控制元件,所以同時gotfocus事件也會發生。

3、控制元件得到焦點的方法除了用滑鼠單擊外,也可以用鍵盤tab鍵來實現。

4、焦點就是某一控制元件當前處於活動中,預設的發生的事件(比如鍵盤輸入等)作用在該控制元件中。

15樓:匿名使用者

gotfocus可以利用tab來實現,不用點選

而click必須點選才能響應

vb中getfocus和setfocus有什麼區別?

16樓:匿名使用者

setfocus 方法

將焦點移至指定的控制元件或窗體。

語法object.setfocus

說明物件必須是 form 物件、mdiform 物件或者能夠接收焦點的控制元件。呼叫 setfocus 方法以後,任何的使用者輸入將指向指定的窗體或控制元件。

焦點只能移到可視的窗體或控制元件。因為在窗體的 load 事件完成前窗體或窗體上的控制元件是不可視的,所以如果不是在 form_load 事件過程完成之前首先使用 show 方法顯示窗體的話,是不能使用 setfocus 方法將焦點移至正在自己的 load 事件中載入的窗體的。

也不能把焦點移到 enabled 屬性被設定為 false 的窗體或控制元件。如果已在設計時將 enabled 屬性設定為 false,必須在使用 setfocus 方法使其接收焦點前將 enabled 屬性設定為 true。

lostfocus 事件

此事件是在一個物件失去焦點時發生,焦點的丟失或者是由於製表鍵移動或單擊另一個物件操作的結果,或者是**中使用 setfocus 方法改變焦點的結果。

語法private sub form_lostfocus( )

private sub object_lostfocus([index as integer])

說明lostfocus 事件過程主要是用來對更新進行驗證和確認。使用 lostfocus 可以在焦點移離控制元件時引進確認。這類事件過程的另一種用途與在 gotfocus 事件過程中的應用類似,可以隱藏、顯示其它物件或者使它們有效或無效。

也可使設定在該物件的 gotfocus 事件過程中的條件取反或對其進行更改。

gotfocus 事件

當物件獲得焦點時產生該事件;獲得焦點可以通過諸如 tab 切換,或單擊物件之類的使用者動作,或在**中用 setfocus 方法改變焦點來實現。

語法private sub form_gotfocus( )

private sub object_gotfocus([index as integer])

說明通常,gotfocus 事件過程用以指定當控制元件或窗體首次接收焦點時發生的操作。例如,通過給窗體上每個控制元件附加一個 gotfocus 事件過程,就可以顯示簡要說明或狀態條資訊給外界提供指導。根據獲取焦點控制元件的不同,通過使其有效、禁止或者是顯示其它控制元件的方式,也可以提供出可視的提示。

注意 一個控制元件僅當其 enabled 和 visible 屬性都設定為 true 時才能接收焦點。為了移動焦點,在 visual basic 中要自定義鍵盤介面,對於窗體上的控制元件需設定 tab 鍵順序或指定訪問鍵。

請問前輩,vb中gotfocus和getfocus有什麼不同

1 vb物件有gotfocus 事件 gotfocus 事件 當物件獲得焦點時產生該事件 獲得焦點可以通過諸如 tab 切換,或單擊物件之類的使用者動作,或在 中用 setfocus 方法改變焦點來實現。語法private sub form gotfocus private sub object g...

VB判斷質數,vb中判斷質數的程式

private sub command1 click dim a as integer dim k as integer dim i as integer i 2 a val text1.text do k a mod i i 1 loop while i if k 0 then text2.tex...

用VB設計程式中遇到的問題,用VB設計程式中遇到的一個問題

哦,這樣的話應該先畫一個按鈕。預設命名command1。這裡舉例x y x y 然後 sub command1 click dim a as long 宣告a變數 a x y x y 記住不要加 if a 某值 then msgbox 等於這個值 else msgbox 不等於這個值 end if ...