使用檔案系統控制項(Directory List Box、Drive List Box 和 File ListBox)
許多應用程式必須顯示關於磁碟機、目錄和檔案的資訊。為使使用者能夠利用檔案系統,Visual Basic 提供了兩種選擇。可以使用由 CommonDialog控制項提供的標準對話方塊,或者使用 DirListBox、DriveListBox 和 FileListBox這三種特殊的控制項的組合建立自訂對話。
檔案系統控制項使使用者能在應用程式中檢查可用的磁碟檔案並從中選擇。若只需要標準的“開啟檔案”或“儲存”對話方塊,則應考慮使用 CommonDialog控制項。
詳細資料 請參閱本章前面的“使用CommonDialog控制項”。
應用程式範例:Winseek.vbp
許多程式碼範例都來自 WinSeek 應用程式範例(Winseek.vbp),該程式列在Samples目錄中。
檢查檔案系統
每個檔案系統控制項都經過精心設計,將靈活、複雜的檔案系統檢查功能與簡易的編程方法結合起來。每個控制項都自動執行檔案資料擷取任務,但也可編寫代碼自訂控制項外觀並指定顯示的資訊。
可單獨使用檔案系統控制項,也可組合起來使用。組合使用時,可在各控制項的事件程序中編寫代碼來判斷它們之間的互動方式。也可讓它們獨立操作。圖 7.17 顯示了一起使用的三個控制項。
檔案系統控制項自動從作業系統擷取一切資訊;可訪問此資訊或判斷每個控制項通過其屬性顯示的資訊。例如,在預設時顯示當前工作目錄的內容(即啟動應用程式的目錄,或者由 ChDir 語句改變的目前的目錄) 。
應用程式也可顯示檔案清單,這些檔案的名字匹配一種模式,例如 *.frm。只需在表單上繪製一個檔案清單,設定其 Pattern 屬性為 *.frm。運行時,可用下列代碼指定 Pattern 屬性:
File1.Pattern = "*.FRM"
檔案系統控制項使操作非常靈活,這是 CommonDialog 控制項無法做到的。可以用多種方法混合、匹配它們,並可控制它們的外觀和互動方式。
如果目的就是要讓使用者能夠開啟和儲存檔案,則 CommonDialog 控制項為這些操作提供了現成的一組對話方塊。這些對話方塊也為許多其它基於 MicrosoftWindows 的應用程式所使用,因此具有標準化的外觀。這些控制項也能識別可用的網路磁碟機。
詳細資料 請參閱本章前面的“使用 CommonDialog 控制項”。
磁碟機列表框
磁碟機列表框是下拉式列表框。在預設時在使用者系統上顯示當前磁碟機。當該控制項獲得焦點時,使用者可輸入任何有效磁碟機標識符,或者單擊磁碟機列表框右側的箭頭。使用者單擊箭頭時將列表框下拉以列舉所有的有效磁碟機。若使用者從中選定新磁碟機,則這個磁碟機將出現在列表框的頂端。可用代碼檢查 Drive 屬性來判斷當前選擇的磁碟機。應用程式也可通過下述簡單指派陳述式指定出現在列表框頂端的磁碟機:
Drive1.Drive = "c:\"
磁碟機列表框顯示可用的有效磁碟機。從列表框中選擇磁碟機並不能自動地變更當前的工作磁碟機;然而可用 Drive 屬性在作業系統級變更磁碟機,這隻需將它作為 ChDrive 語句的參數:
ChDrive Drive1.Drive
目錄列表框
目錄列表框從最高層目錄開始顯示使用者系統上的當前磁碟機目錄結構。起初,目前的目錄名被反白,而且目前的目錄和在目錄階層中比它更高層的目錄一起向根目錄方向縮排。在目錄列表框中目前的目錄下的子目錄也縮排顯示。在列表中上下移動時將依次反白每個目錄項。
標識單個目錄
列表框中的每個目錄關聯一個整型標識符,可用它來標識單個目錄。CommonDialog 控制項沒有提供這個功能。Path 屬性 (Dir1.Path) 指定的目錄總是有 ListIndex 值-1。緊鄰其上的目錄具有 ListIndex 值- 2,再上一個為ListIndex- 3,依次類推。Dir1.Path 的第一個子目錄具有 ListIndex 值 0。如圖 7.18 所示,若第一級子目錄有多個目錄,則每個目錄的 ListIndex 值按 1、2、3……的順序依次排列。