設(shè)置 Tab 鍵順序
例如,假設(shè)您建立了兩個(gè)名稱為 Text1 和 Text2 的 TextBox,然后又建立了一個(gè)名稱為 Commandl 的 CommandButton。應(yīng)用程序啟動(dòng)時(shí),Text1 具有焦點(diǎn)。按 TAB 鍵將使焦點(diǎn)按控件建立的順序在控件間移動(dòng),如圖 3.20 所示。
設(shè)置 TabIndex 屬性將改變一個(gè)控件的 tab 鍵順序。 控件的 TabIndex 屬性決定了它在 tab 鍵順序中的位置。按照缺省規(guī)定,第一個(gè)建立的控件其TabIndex 值為 0,第二個(gè)的 TabIndex 值為 1,以此類推。當(dāng)改變了一個(gè)控件的 tab 鍵順序位置,Visual 自動(dòng)為其它控件的 tab 鍵順序位置重新編號(hào),以反映插入和刪除。例如,要使 Command1 變?yōu)?tab 鍵順序中的首位,其它控件的 TabIndex 值將自動(dòng)向上調(diào)整,如下表所示。
。
因?yàn)榫幪?hào)從0開始,TabIndex的值總是比tab鍵順序中控件的數(shù)目少 1。即使TabIndex屬性值高于控件數(shù)目,Visual Basic也會(huì)將這個(gè)值轉(zhuǎn)換為控件數(shù)減一。
注意 不能獲得焦點(diǎn)的控件以及無效的和不可見的控件不具有 TabIndex 屬性,因而不包含在 tab 鍵順序中。按 TAB 鍵時(shí),這些控件將被跳過。
在 Tab 鍵順序中刪除控件
通常,運(yùn)行時(shí)按 TAB 鍵能選擇 tab 鍵順序中的每一控件。將控件的TabStop 屬性設(shè)為 False (0) ,便可將此控件從 tab 鍵順序中刪除。
TabStop 屬性已置為 False 的控件,仍然保持它在實(shí)際 tab 鍵順序中的位置,只不過在按 tab 鍵時(shí)這個(gè)控件被跳過。
注意 一個(gè) OptionButton 組只有一個(gè) tab 站。選中的按鈕(即 Value 值 為True 的按鈕)的 TabStop 屬性自動(dòng)設(shè)為 True,而其它按鈕的 TabStop屬性為 False。
菜單基礎(chǔ)
如果應(yīng)用程序要為用戶提供一組命令,菜單提供一種方便的給命令分組的方法,并使用戶容易訪問這些命令。
圖 3.21 舉例說明了無標(biāo)題窗體的菜單界面元素。
菜單欄立即出現(xiàn)在窗體的標(biāo)題欄下面,并包含一個(gè)或多個(gè)菜單標(biāo)題。當(dāng)單擊一個(gè)菜單標(biāo)題(如“文件”),包含菜單項(xiàng)目的列表就被拉下來。菜單項(xiàng)可以包括命令(如“新建”和“退出”)、分隔條和子菜單標(biāo)題。用戶看到的每個(gè)菜單項(xiàng)和在“菜單編輯器”中定義的一個(gè)菜單控件對(duì)應(yīng)(“菜單編輯器”將在本章后面討論)。
要使您的應(yīng)用程序簡單好用,應(yīng)該將菜單項(xiàng)按其功能分組。例如,圖 3.21 中與文件有關(guān)的命令“新建”,“打開”,和“另存為”都列入“文件”菜單。有些菜單項(xiàng)目直接執(zhí)行動(dòng)作,如“文件”菜單中的“退出”菜單項(xiàng)將關(guān)閉應(yīng)用程序。其它菜單項(xiàng)顯示一個(gè)對(duì)話框,即要求用戶提供應(yīng)用程序執(zhí)行動(dòng)作所需信息的窗口。應(yīng)該在這些菜單項(xiàng)后加上省略符 (...)。例如,當(dāng)從“文件”菜單中選擇“另存為...時(shí)”,出現(xiàn)“文件另存為”對(duì)話框。
菜單控件是一個(gè)對(duì)象;與其它對(duì)象一樣,它具有定義它的外觀與行為的屬性。在設(shè)計(jì)或運(yùn)行時(shí)可以設(shè)置 Caption 屬性、Enabled 和 Visible 屬性、Checked 屬性以及其它屬性。菜單控件只包含一個(gè)事件,即 Click 事件,當(dāng)用鼠標(biāo)或鍵盤選中該菜單控件時(shí),將調(diào)用該事件。
詳細(xì)信息 關(guān)于菜單控件的詳細(xì)信息,請(qǐng)參閱第六章“創(chuàng)建用戶界面”中的“用菜單編輯器創(chuàng)建菜單”。
彈出式菜單
彈出式菜單是顯示于窗體之上,獨(dú)立于菜單欄的浮動(dòng)式菜單,如圖 3.22 所示。顯示在彈出式菜單上的項(xiàng)取決于鼠標(biāo)右鍵按下時(shí)指針的位置,因此,彈出式菜單又稱為上下文菜單(在 Windows 95 中,擊鼠標(biāo)右鍵可激活上下文菜單。)應(yīng)該用彈出式菜單提供一種訪問公共的上下文命令的高效方法。例如,用鼠標(biāo)右鍵單擊一個(gè) TextBox,將會(huì)出現(xiàn)一個(gè)上下文菜單(如圖 3.22 所示)。
任何至少有一個(gè)菜單項(xiàng)的菜單,運(yùn)行時(shí)都可以顯示為彈出式菜單。使用PopupMenu 方法可顯示彈出式菜單。
詳細(xì)信息 關(guān)于彈出式菜單的詳細(xì)信息,請(qǐng)參閱第六章“創(chuàng)建用戶界面”中的“用菜單編輯器創(chuàng)建菜單”。
使用菜單編輯器
使用“菜單編輯器”,可向現(xiàn)存的菜單中增加新命令、用自己的命令替代現(xiàn)存的菜單命令、產(chǎn)生新的菜單和菜單欄,改變和刪除現(xiàn)存菜單和菜單欄。“菜單編輯器”的主要優(yōu)點(diǎn)是使用方便??梢栽谥挥煤苌倬幊痰娜换シ绞街凶远x菜單。
要顯示“菜單編輯器”,請(qǐng)
在“工具”菜單中選擇“菜單編輯器這將打開“菜單編輯器”,如圖 3.23 所示
大多數(shù)菜單控件屬性可用“菜單編輯器”設(shè)置,同樣,所有的菜單屬性也可以在“屬性”窗口中得到。通常,在“菜單編輯器”中建立菜單,但要快速改變單個(gè)屬性,一般使用“屬性”窗口。
詳細(xì)信息 關(guān)于創(chuàng)建菜單和使用“菜單編輯器”的詳細(xì)信息,請(qǐng)參閱第六章“創(chuàng)建用戶界面”中的“用菜單編輯器創(chuàng)建菜單”。
用對(duì)話框提示用戶
在基于 Windows 的應(yīng)用程序中,對(duì)話框被用來提示用戶提供應(yīng)用程序繼續(xù)運(yùn)行所需的數(shù)據(jù)或者向用戶顯示信息。對(duì)話框是一種特殊類型的窗體對(duì)象,可用以下三種方法之一建立:
使用 MsgBox 或 InputBox 函數(shù)的代碼可以創(chuàng)建預(yù)定義對(duì)話框。
例如,假設(shè)您建立了兩個(gè)名稱為 Text1 和 Text2 的 TextBox,然后又建立了一個(gè)名稱為 Commandl 的 CommandButton。應(yīng)用程序啟動(dòng)時(shí),Text1 具有焦點(diǎn)。按 TAB 鍵將使焦點(diǎn)按控件建立的順序在控件間移動(dòng),如圖 3.20 所示。
設(shè)置 TabIndex 屬性將改變一個(gè)控件的 tab 鍵順序。 控件的 TabIndex 屬性決定了它在 tab 鍵順序中的位置。按照缺省規(guī)定,第一個(gè)建立的控件其TabIndex 值為 0,第二個(gè)的 TabIndex 值為 1,以此類推。當(dāng)改變了一個(gè)控件的 tab 鍵順序位置,Visual 自動(dòng)為其它控件的 tab 鍵順序位置重新編號(hào),以反映插入和刪除。例如,要使 Command1 變?yōu)?tab 鍵順序中的首位,其它控件的 TabIndex 值將自動(dòng)向上調(diào)整,如下表所示。
。
因?yàn)榫幪?hào)從0開始,TabIndex的值總是比tab鍵順序中控件的數(shù)目少 1。即使TabIndex屬性值高于控件數(shù)目,Visual Basic也會(huì)將這個(gè)值轉(zhuǎn)換為控件數(shù)減一。
注意 不能獲得焦點(diǎn)的控件以及無效的和不可見的控件不具有 TabIndex 屬性,因而不包含在 tab 鍵順序中。按 TAB 鍵時(shí),這些控件將被跳過。
在 Tab 鍵順序中刪除控件
通常,運(yùn)行時(shí)按 TAB 鍵能選擇 tab 鍵順序中的每一控件。將控件的TabStop 屬性設(shè)為 False (0) ,便可將此控件從 tab 鍵順序中刪除。
TabStop 屬性已置為 False 的控件,仍然保持它在實(shí)際 tab 鍵順序中的位置,只不過在按 tab 鍵時(shí)這個(gè)控件被跳過。
注意 一個(gè) OptionButton 組只有一個(gè) tab 站。選中的按鈕(即 Value 值 為True 的按鈕)的 TabStop 屬性自動(dòng)設(shè)為 True,而其它按鈕的 TabStop屬性為 False。
菜單基礎(chǔ)
如果應(yīng)用程序要為用戶提供一組命令,菜單提供一種方便的給命令分組的方法,并使用戶容易訪問這些命令。
圖 3.21 舉例說明了無標(biāo)題窗體的菜單界面元素。
菜單欄立即出現(xiàn)在窗體的標(biāo)題欄下面,并包含一個(gè)或多個(gè)菜單標(biāo)題。當(dāng)單擊一個(gè)菜單標(biāo)題(如“文件”),包含菜單項(xiàng)目的列表就被拉下來。菜單項(xiàng)可以包括命令(如“新建”和“退出”)、分隔條和子菜單標(biāo)題。用戶看到的每個(gè)菜單項(xiàng)和在“菜單編輯器”中定義的一個(gè)菜單控件對(duì)應(yīng)(“菜單編輯器”將在本章后面討論)。
要使您的應(yīng)用程序簡單好用,應(yīng)該將菜單項(xiàng)按其功能分組。例如,圖 3.21 中與文件有關(guān)的命令“新建”,“打開”,和“另存為”都列入“文件”菜單。有些菜單項(xiàng)目直接執(zhí)行動(dòng)作,如“文件”菜單中的“退出”菜單項(xiàng)將關(guān)閉應(yīng)用程序。其它菜單項(xiàng)顯示一個(gè)對(duì)話框,即要求用戶提供應(yīng)用程序執(zhí)行動(dòng)作所需信息的窗口。應(yīng)該在這些菜單項(xiàng)后加上省略符 (...)。例如,當(dāng)從“文件”菜單中選擇“另存為...時(shí)”,出現(xiàn)“文件另存為”對(duì)話框。
菜單控件是一個(gè)對(duì)象;與其它對(duì)象一樣,它具有定義它的外觀與行為的屬性。在設(shè)計(jì)或運(yùn)行時(shí)可以設(shè)置 Caption 屬性、Enabled 和 Visible 屬性、Checked 屬性以及其它屬性。菜單控件只包含一個(gè)事件,即 Click 事件,當(dāng)用鼠標(biāo)或鍵盤選中該菜單控件時(shí),將調(diào)用該事件。
詳細(xì)信息 關(guān)于菜單控件的詳細(xì)信息,請(qǐng)參閱第六章“創(chuàng)建用戶界面”中的“用菜單編輯器創(chuàng)建菜單”。
彈出式菜單
彈出式菜單是顯示于窗體之上,獨(dú)立于菜單欄的浮動(dòng)式菜單,如圖 3.22 所示。顯示在彈出式菜單上的項(xiàng)取決于鼠標(biāo)右鍵按下時(shí)指針的位置,因此,彈出式菜單又稱為上下文菜單(在 Windows 95 中,擊鼠標(biāo)右鍵可激活上下文菜單。)應(yīng)該用彈出式菜單提供一種訪問公共的上下文命令的高效方法。例如,用鼠標(biāo)右鍵單擊一個(gè) TextBox,將會(huì)出現(xiàn)一個(gè)上下文菜單(如圖 3.22 所示)。
任何至少有一個(gè)菜單項(xiàng)的菜單,運(yùn)行時(shí)都可以顯示為彈出式菜單。使用PopupMenu 方法可顯示彈出式菜單。
詳細(xì)信息 關(guān)于彈出式菜單的詳細(xì)信息,請(qǐng)參閱第六章“創(chuàng)建用戶界面”中的“用菜單編輯器創(chuàng)建菜單”。
使用菜單編輯器
使用“菜單編輯器”,可向現(xiàn)存的菜單中增加新命令、用自己的命令替代現(xiàn)存的菜單命令、產(chǎn)生新的菜單和菜單欄,改變和刪除現(xiàn)存菜單和菜單欄。“菜單編輯器”的主要優(yōu)點(diǎn)是使用方便??梢栽谥挥煤苌倬幊痰娜换シ绞街凶远x菜單。
要顯示“菜單編輯器”,請(qǐng)
在“工具”菜單中選擇“菜單編輯器這將打開“菜單編輯器”,如圖 3.23 所示
大多數(shù)菜單控件屬性可用“菜單編輯器”設(shè)置,同樣,所有的菜單屬性也可以在“屬性”窗口中得到。通常,在“菜單編輯器”中建立菜單,但要快速改變單個(gè)屬性,一般使用“屬性”窗口。
詳細(xì)信息 關(guān)于創(chuàng)建菜單和使用“菜單編輯器”的詳細(xì)信息,請(qǐng)參閱第六章“創(chuàng)建用戶界面”中的“用菜單編輯器創(chuàng)建菜單”。
用對(duì)話框提示用戶
在基于 Windows 的應(yīng)用程序中,對(duì)話框被用來提示用戶提供應(yīng)用程序繼續(xù)運(yùn)行所需的數(shù)據(jù)或者向用戶顯示信息。對(duì)話框是一種特殊類型的窗體對(duì)象,可用以下三種方法之一建立:
使用 MsgBox 或 InputBox 函數(shù)的代碼可以創(chuàng)建預(yù)定義對(duì)話框。

