Visual Basic 文件系统控件
文件系统控件包括:驱动器列表框(DriveListBox)、目录列表框(DirListBox)和文件列表框(FileListBox)。文件系统控件可以单独使用,也可以组合使用,如图6.1所示。
图6.1 文件系统控件
1. 驱动器列表框
驱动器列表框用于选择一个驱动器,是一个下拉列表框,其在工具箱中的图标为
。默认状态时,顶端突出显示系统的当前驱动器名称。
该控件最重要的属性为Drive,当用户在列表中选择一个驱动器代号,运用这个属性值可以判断选定的驱动器数据,或指定列表框中显示的驱动器名称,如下面的程序代码:
Drive1.Drive = "C:\"
利用ChDrive语句可以将指定的驱动器设为当前驱动器,如:
ChDrive Drive1.Drive
2. 目录列表框
目录列表框在工具箱中的图标为
,用于显示一个磁盘的目录结构。显示从根目录起的所有子目录,用户可以选择不同目录项目使其反白,成为当前所在的目录。
通过目录列表框的Path属性,可以读取或指定当前的工作目录。例如可以将驱动器列表框选定的驱动器名称设置为工作目录:
Dir1.Path = Drive1.Drive
上行程序代码可以使目录列表显示驱动器列表框选择的驱动器、所有可用的目录及子目录。配合ChDir语句的使用,就能将工作目录改变为目录列表框中所选择的目录,如:
ChDir Dir1.Path
3. 文件列表框
工具箱中文件列表框的图标为
。当程序运行时,文件列表框可列出特定目录中的所有文件名称,该目录是根据Path属性值来指定的。利用这个Path属性可以显示当前工作目录中的所有文件,例如:
File1.Path = Dir1.Path
Pattern属性用来设置在程序运行时FileListBox中要显示的文件种类。默认时Pattern属性值为“*.*”,即显示所有类型的文件。VB支持通配符“*”和“?”,如*.frm、???.bmp。例如,要将文件类型设置为*.txt文件:
File1.Pattern = "*.txt"
利用分号可指定多种类型的文件显示,如:
File1.Pattern = "*.txt;*.exe"
另外还有一些属性项目也能限制文件列表框所显示的文件,如Archive,Hidden,Normal,ReadOnly,System属性。文件列表框的MultiSelect属性决定用户能否选择多个文件,默认只能选择单一文件。
文件系统控件的事件如表6.1所示。
表6.1 文件系统控件的事件
控件名 | 事 件 | 触发时刻 |
DriveListBox | Change | 选择新驱动器或修改Drive属性 |
DirListBox | Change | 双击选择新目录或修改Path属性 |
FileListBox | PathChange | 设置文件名或修改Path属性 |
PatternChange | 设置文件名或修改Pattern属性改变文件的格式 |
通常,DriveListBox,DirListBox和FileListBox控件一起使用,在改变驱动器列表框中的驱动器时,目录列表框中显示的目录也应同步变化,可通过DriveListBox控件的Change事件的以下语句来实现同步:
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
同样,目录列表框中目录改变,同时使文件列表框也同步改变,可通过在DirListBox控件的Change事件的以下语句来实现:
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
【例6.1】 图形浏览器的设计。
首先,在窗体上添加一个图像框Image1,并将其Stretch属性设置为True。然后依次在窗体上添加一个文件列表框File1,一个目录列表框Dir1,一个驱动器列表框Drive1,以及3个用于说明的标签,如图6.2所示。
图6.2 图形浏览器
其程序代码如下:
Private Sub Dir1_Change()
File1.Path = Dir1.Path
File1.Pattern = "*.bmp;*.wmf;*.ico"
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
Image1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
End Sub
单击驱动器可以相应地改变目录列表框中的目录,单击目录列表框可以相应地改变文件列表框中的文件名,在文件列表框单击文件名即可在图形框中显示所选择文件的图形。另外,为了在程序开始运行时,文件列表框就显示指定类型的文件,可在Form_load事件过程中设置文件列表的Pattern属性,也可在设计时直接修改此属性值。