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属性 |
| FileListBox | 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属性,也可在设计时直接修改此属性值。

相关推荐
2401_885885041 小时前
国际语音C#接口怎么写?.NET环境下实现国际语音验证码批量下发
开发语言·c#·.net
程序猿乐锅1 小时前
【从0-1学习Python | 第七篇】Python 面向对象基础
开发语言·笔记·后端·python·学习·1024程序员节
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 查询圈子个人动态:查询我的动态需求分析
java·开发语言·交友
凯瑟琳.奥古斯特1 小时前
力扣1016高效解法:剪枝优化技巧
开发语言·c++·算法·leetcode·职场和发展
坤坤子吖2 小时前
C++继承:友元、静态成员、多继承与组合
开发语言·c++·笔记·学习·1024程序员节
技术小甜甜2 小时前
【Cursor】Skill 被标黄色警告,怎么改成合格的 SKILL.md
开发语言·javascript·ai编程·cursor·1024程序员节·ai agent·skills
小小龙学IT3 小时前
Python Polars 高性能数据处理引擎深度解析
开发语言·python·rust·1024程序员节
quantdash_cc3 小时前
如何利用标的信息为研究股票池补充名称和交易所信息?
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
CRMEB系统商城4 小时前
家电零售的供应商协同与物流提效
java·开发语言·人工智能·小程序·1024程序员节
王大师王文峰4 小时前
Java+AI 面试题(二):业务场景设计 10 例【客服机器人、合同审查、Text2SQL、告警降噪、成本优化】场景题答法与追问链路
java·开发语言·人工智能