再論窗體
除窗體設計原理以外,還需考慮應用程序的開始與結束。有一些技巧用于決定應用程序啟動時的外觀。熟悉應用程序卸載時進行的一些處理也很重要。
設置啟動窗體
在缺省情況下,應用程序中的第一個窗體被指定為啟動窗體。應用程序開始運行時,此窗體就被顯示出來(因而最先執行的代碼是該窗體的Form_Initialize事件中的代碼)。如果想在應用程序啟動時顯示別的窗體,那么就得改變啟動窗體。
要改變啟動窗體,請按照以下步驟執行:
1.從“工程”菜單中,選取“工程屬性”。
2.選取“一般”。
3.在“啟動對象”ListBox中,選取要作為新啟動窗體的窗體。
4.選取“確定”。
沒有啟動窗體時的啟動
有時候也許要應用程序啟動時不加載任何窗體。例如:可能想先運行裝入數據文件的代碼,然后再根據數據文件的內容決定顯示幾個不同窗體中的哪一個。要做到這一點,可在標準模塊中創建一個名為Main的子過程,如下面的例子所示。
SubMain()
DimintStatusAsInteger
'調用一個函數過程來檢驗用戶狀態。
intStatus=GetUserStatus
'根據狀態顯示某個啟動窗體。
IfintStatus=1Then
frmMain.Show
Else
frmPassWord.Show
EndIf
這個過程必須是一個子過程,且不能在窗體模塊內。欲將SubMain過程設為啟動對象,可從“工程”菜單中,選取“工程屬性”,再選“一般”,然后從“啟動對象”框中選定“SubMain”。
顯示啟動時的快速顯示
如果啟動時有一個較長的執行過程,例如要從數據庫中裝入大量數據或者要裝入一些大型位圖,這時可能希望在啟動時給出一個快速顯示。快速顯示是一種窗體,它通常顯示的是諸如應用程序名,版權信息和一個簡單的位圖等內容。啟動VisualBasic時所顯示的屏幕就是一個快速顯示。
要顯示快速顯示,需用SubMain過程作為啟動對象,并用Show方法顯示該窗體:
注意雖然分隔符條是當作菜單控件來創建的,它們卻不能響應Click事件,而且也不能被選取。
賦值訪問鍵和快捷鍵
通過定義訪問鍵和快捷鍵可改進鍵盤對菜單命令的訪問。
訪問鍵
訪問鍵允許按下ALT鍵并打入一個指定字符來打開一個菜單。一旦菜單打開,通過按下所賦值的字符(訪問鍵)可選取控件。例如,按下ALT E鍵可打開“編輯”菜單,再按P鍵可選取“粘貼”菜單項。在菜單控件的標題中,一個指定的訪問鍵表現為一個帶下劃線的字母,如圖6.9所示。
要在菜單編輯器中給菜單控件賦值訪問鍵,請按照以下步驟執行:
1.選取要賦值訪問鍵的菜單項。
2.在其“標題”框中,在要作為訪問鍵字符的前面直接鍵入一個(&)字符。
例如,如果圖6.9所示的“編輯”菜單被打開,下列Caption屬性設置值響應的對應鍵。
注意菜單中不能使用重復的訪問鍵。如果多個菜單項使用同一個訪問鍵,則該鍵將不起作用。例如,如果C同時是“剪切”和“復制”的訪問鍵,那么,當選取“編輯”菜單且鍵入C時,則“復制”命令將被選,但只有按下ENTER鍵以后,應用程序才會執行該命令。而“剪切”命令根本不會執行。
快捷鍵
快捷鍵按下時會立刻運行一個菜單項。可以為頻繁使用的菜單項指定一個快捷鍵,它提供一種鍵盤單步的訪問方法,而不是按住ALT鍵、再按菜單標題訪問字符,然后再按菜單項訪問字符的三步方法。快捷鍵的賦值包括功能鍵與控制鍵的組合,如CTRL F1鍵或CTRL A鍵。它們出現在菜單中相應菜單項的右邊,如圖6.10所示。
要對菜單項賦值快捷鍵,請按照以下步驟執行:
1.打開“菜單編輯器”。
2.選取該菜單項。
3.在“快捷鍵”組合框中選取功能鍵或者鍵的組合。
要刪除快捷鍵賦值,應選取列表頂部的“(none)”。
注意快捷鍵將自動出現在菜單上;因此,不需要在菜單編輯器的“標題”框中鍵入CTRL key。
菜單標題與命名準則
為了與其它應用程序保持一致,創建菜單時遵循所確立的命名準則是一個好辦法。
設置Caption屬性
為菜單項進行標題賦值時,應當盡量遵循下列準則:
1.菜單中項目名稱應當唯一,但不同菜單中相似動作項目可以重名。
2.項目名稱可以是單詞、復合詞或者多個詞。
3.每一個項目名稱都應當有一個用鍵盤選取命令的、一個唯一的記憶訪問字符。訪問字符應當是菜單標題的第一個字母,除非別的字符更易記;兩個菜單標題不能用同一個訪問字符。關于指定訪問鍵與快捷鍵的詳細信息,請參閱本章前面的“用菜單編輯器創建菜單”部分。
4.如果命令在完成之前還需要附加信息,則在其名稱后面應當有一個省略號(…),比如顯示一個對話框的命令(“另存為…”,“首選項…”)。
5.項目名稱盡量簡短。如果要使應用程序本地化,那么,在外文版中字詞長度會增加將近百分之三十,這樣也許沒有足夠空間列出各個菜單項。有關應用程序本地化的更詳細內容,請參閱第十六章“國際發行”。
菜單命名約定
為了使代碼更可讀和更易維護,在菜單編輯器中設置Name屬性時遵循已確定的命名約定是一個好辦法。大多數命名約定規則都建議用前綴來標識對象(即,對菜單控件用mnu),其后緊跟頂層菜單的名稱(如File)。對于子菜單,其后再緊跟該子菜單的標題(如mnuFileOpen)。
詳細信息有關所建議的命名約定的示例,請參閱附錄B“VisualBasic編碼約定”。有關所建議的命名約定的示例,請參閱“VisualBasic編碼約定”。
|
新聞熱點
疑難解答