焦點是對象接收用戶鼠標(biāo)或鍵盤操作的能力。當(dāng)對象具有焦點時,才可接收用戶的操作。例如,在有幾個文本框的窗體中,只有具有焦點的文本框才能接受用戶的輸入。
下列方法可以將焦點賦給對象:
運行時選擇對象。
運行時用快捷鍵選擇對象。
在代碼中使用SetFocus方法。
焦點只會出現(xiàn)在活動窗口中,并且,在活動窗口中每一時刻只能有一個對象具有焦點。有些對象,它是否具有焦點是可以看出來的。例如,當(dāng)按鈕具有焦點時,按鈕標(biāo)題周圍的邊框?qū)⑼怀鲲@示,如圖2.10所示。當(dāng)文本框具有焦點時,文本框中將顯示閃動的插入點。
并非所有的對象都能接受焦點。例如,標(biāo)簽、框架、定時器等控件就不能接受焦點。對于可以接受焦點的對象,只有當(dāng)對象的Enabled和Visible屬性為True時,它才能接收焦點。Enabled屬性允許對象響應(yīng)由用戶產(chǎn)生的事件,如鍵盤和鼠標(biāo)事件。Visible屬性決定了對象在屏幕上是否可見。對于窗體來講,只有窗體中不包含任何可接收焦點的控件,它才能接收焦點。
當(dāng)對象得到或失去焦點時,會產(chǎn)生GotFocus或LostFocus事件。窗體和多數(shù)控件能響應(yīng)這些事件。GotFocus事件在對象得到焦點時發(fā)生;LostFocus事件在對象失去焦點時發(fā)生。
使用鼠標(biāo)來使對象具有焦點有時很不方便。例如,若窗體中有多個文本框,在輸入數(shù)據(jù)時,如果每次總是使用鼠標(biāo)來切換文本框的焦點,是一件很煩人的事。人們通常習(xí)慣使用Tab鍵來使對象按指定的順序獲得焦點,這就是所謂的Tab鍵順序。
在使用VB創(chuàng)建程序時,可以使用Tablndex和TabStop兩個屬性來指定對象的Tab鍵順序。通常情況下,Tab鍵順序與窗體所安放對象的順序相一致。
1. TabIndex屬性。
該屬性用來設(shè)置對象的Tab鍵順序。在默認(rèn)情況下,第一個被安放的控件,其TabIndex取值為0;第二個被安放的控件,其TabIndex取值為1,依次類推。在程序運行時,焦點默認(rèn)位于TabIndex取值最小的控件上。當(dāng)按Tab時,焦點按對象TabIndex屬性的值順序切換。
如果需要改變某個控件的TabIndex取值或在窗體上插入、刪除控件時,VB會自動地將其他控件的Tab鍵順序重新編號,以反映變化了的情況。
2.TabStop屬性。
該屬性的作用是決定用戶是否可以使用Tab鍵來使對象具有焦點。當(dāng)一個對象的TabStop屬性取值為Ttue(默認(rèn))時,使用Tab鍵可以使該對象具有焦點:若它取值為False,則Tab操作時將跳過該對象,即不能使用Tab鍵使該對象具有焦點。
實例2.1 Tab鍵順序
在窗體中放置4個文本框控件和兩個按鈕控件,如圖2.11所示?丶纤@示的標(biāo)號是控件的放置順序。例如,顯示有1的文本框是第一個放置到窗體中的,顯示有"6"的按鈕是最后一個放置到窗體中的。
運行該程序,可見,默認(rèn)時文本框1具有焦點,按Tab鍵,則焦點按控件的放置順序切換,即l→2→3→4→5→6.
停止程序的運行,返回到設(shè)計界面中,設(shè)置各控件的TabIndex屬性如表2.4所示。
再次運行程序,可見,默認(rèn)時按鈕5具有焦點,按Tab鍵,則焦點的切換順序為5→6→1→3→2→4.如圖2.12所示。
如果將文本框2的TabStop屬性設(shè)置為False,則按Tab鍵時,焦點不會在文本框2上停留,焦點的切換順序為5→6→1→3→4。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |