二、利用文件控件来处理文件
1、第一个示例(见教材P324)
(1)设置初始窗体属性
属性 |
设置 |
(name) |
form1 |
borderstyle |
3-fixed dialog'不能改变窗体大小 |
caption |
form1 |
enabled |
true '不能移动窗体 |
height |
3600 |
left |
0 |
maxbutton |
false |
minbutton |
false |
moveable |
false |
picture |
(none) |
startupposition |
2-centerscreen '窗体位于屏幕中心 |
top |
0 |
visible |
true |
width |
5670 |
windowstate |
0-normal |
(2)添加控件,设置其属性
向窗体添加一个drivelistbox控件,一个dirlistbox控件 一个filelistbox控件,它们将实现相应不同的功能,同时它们又相互协调。
如图:

(3)编写代码
程序的初始化代码:
Private Sub Form_load()
Drive1.enabled=true
Dir1.enabled=true
File1.enabled=true '设置控件的有效状态
File1.pattern="*.exe" '设置过滤器,使之只显示可执行文件
Drive1.drive="c:\" '设置控件的初始驱动器为C盘
End Sub
程序说明:程序首先通过Drive1.enabled=true,Dir1.enabled=true,File1.enabled=true来设置控件的有效状态,然后设置文件的过滤器为"*.exe"和控件的初始驱动器为"c:\",这样只有在c盘下面的以"*.exe"结尾的可执行文件才能够显示出来。
三控件同步:
Private Sub Drive1_change()
Dir1.path=Drive1.Drive '改变驱动器,使目录列表框中的内容跟着所选驱动器的变化而变化
End Sub
程序说明:在程序的运行阶段,改变驱动器时,就会激活DriveListBox控件的Drive1_Change()事件,然后通过Dir1.path=Drive1.Drive来使DriveListBox控件显示改变驱动器后的目录。
Private Sub Dir1_change()
File1.path=Dir1.path '改变目录,使目录列表框中的内容跟着所选文件夹的不同而不同
End Sub
程序说明:在程序的运行阶段,改变目录时,就会激活DirListBox控件的Dir1_change()事件,然后通过File1.path=Dir1.path来使FileListBox控件显示改变目录后的文件列表。
显示文件路径和文件名:
Private Sub File1_Click() MsgBox File1.Path & "\" & File1.FileName '输出文件路径和文件名。 End Sub
(4)存储文件,运行程序
[程序演示] [程序下载]
2、第二个示例(见教材P329)
界面设计:
(1)设置初始窗体属性
属性 |
设置 |
(name) |
form1 |
borderstyle |
3-fixed dialog |
caption |
form1 |
enabled |
true |
height |
3600 |
left |
0 |
maxbutton |
false |
minbutton |
false |
moveable |
false |
picture |
(none) |
startupposition |
2-centerscreen |
top |
0 |
visible |
true |
width |
5670 |
windowstate |
0-normal |
(2)添加CommonDialog控件,设置属性
如果在窗体上放置一个CommonDialog控件,首先把它添加到工具箱上,选择菜单[工程]/[部件] ,就会弹出对话框,选择Mocrosoft Common Dialog Control6.0项,在工具箱中就会自动的添加一个CommonDialog控件。它的属性设置如下:
属性 |
设置 |
(name) |
CommonDialog1 |
DialogTitle |
选择一个图像文件 |
Filename |
*.bmp;*.jpg;*.gif '用分号隔开 |
Filter |
*.bmp;*.jpg;*.gif |
InitDir |
c: '设置初始化文件目录 |
Left |
4440 |
Top |
0 |
(3)在窗体上添加其它控件,设置属性
在窗体上添加一个Image控件和三个CommandButton控件。

(4)编写程序的初始化代码
在程序的设计阶段,双击窗体,在窗体的Form_load()事件中添加下列代码:
Private Sub Form_Load()
Command1.Enabled=tru
Command2.Enabled=true
Command3.Enabled=true
End Sub
程序说明 窗体的Form_load()事件在程序的运行初期就被执行,所以在其中添加代码对程序进行初始化,在本程序中初始化的工作在于设置各个按钮的有效状态。
如果没在属性窗口中设置过滤器Filename、Filter的属性,也可在这段代码中添加代码:
CommonDialog1.Filter = "Text(*.txt)|*.txt|Picture(*.bmp)|*.bmp|Picture(*.gif)|*.gif|Picture(*.jpg)|*.jpg" '设置过滤器(注意分隔符)。
(5)响应按钮"打开文件"的单击事件
按钮"打开文件"的作用是显示一个对话框,并且可以在其中选择一个图像文件,为了实现以上功能,所以在Command2_click()事件中添加如下代码:
Private Sub Command2_Click()
CommonDialog1.showopen '显示"打开"对话框
Image1.picture=LoadPicture(CommonDialog1.Filename) '在Image控件中显示图像
End Sub
程序说明:在程序的运行过程中,单击按钮[打开文件]时,Command2_Click()事件就被激活,然后开始执行其中的代码,首先通过CommandDialog1.showopen语句来显示"打开"对话框,选中一个有效的图像文件后单击[确定]按钮,就可通过Image1.Pcture=LoadPicture(CommonDialog1.Filename)显示图像。
(6)响应其余按钮单击事件
按钮"清除"的作用是清除在Image控件中显示的图像文件,为了实现上述功能,可以在Command3_Click()事件中添加代码
Private Sub Command3_Click()
Image1.Picture=LoadPicture("")
End Sub
按钮“退出”的作用是结束程序的运行,返回设计阶段,所以在Command1._click()事件中添加下列代码:
Private Sub Command1_click()
End '结束运行
End sub
(7)存储文件,运行程序
[程序演示] [程序下载]
|