正文

文件系统控件2006-04-12 20:32:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/12333.html

分享到:

我在这里学编程

文件系统控件

在一个应用程序中,对文件的处理是一个比较常用的操作,如打开文件、保存文件,等等。Visual Basic 提供了三个控件对磁盘文件夹与文件进行显示与操作,它们分别是:驱动器列表框控件(DriveListBox)、目录列表框控件(DirList)和文件列表框控件(FileListBox)图一

浏览图片的应用程序界面如下:

    这三个控件通常组合在—起使用。

虽然这三个控件都是文件系统控件,但每个控件对于其它控件来说又是相对独立的。也就是说,当用户在驱动器列表中改变当前驱动器时,目录列表框中的内容将不会随之改变。若要使这三个控件关联起来,必须在程序中添加相应的代码。

     一、DriveListBox(磁盘列表框)控件:

    在工具箱面板上,DriveListBox 控件的图标如图二:     


图二

    在窗口中创建的磁盘列表框可以自动显示电脑上或网络上的所有磁盘驱动器,另外,还可以通过语法设置运行时显示的驱动器名称,这就要用到 Drive 属性。

    磁盘列表框名称.Drive = Drive(如 C: ,或者 D:,等等)。

    比如,要在窗体启动时把当前磁盘改为 F 盘,那么:

    Private Sub Form_Load()
  Drive1.Drive = "F:"
End Sub     

     


图三

    二、DirListBox(文件夹列表框)控件:

    在工具箱面板上,DirListBox 控件的图标如图四:     


图四

    文件夹列表框控件可以显示与设置文件夹的路径,当用户在窗口中创建 DirListBox 控件时,双击其中的文件夹,不需进行编程就能自动显示下一级的文件夹,如图五:     


图五

    本控件的主要属性是 Path 属性,用来返回或设置当前文件夹的路径,只能在程序运行中使用,其语法是:

    文件夹列表框名称.Path = 具体的路径

    比如,我们要在窗体启动时把默认显示的文件夹改为 D:Mytool ,程序可以这样写:

    Private Sub Form_Load()
  Dir1.Path = "D:Mytool"
  End Sub

    三、FileListBox(文件列表框)控件:

    跟前面两个控件一样,本控件能够自动显示符合条件的文件清单。如图六:     


图六

    文件列表框控件主要有两个属性,即 Path 属性与 FileName 属性,前者代表文件的路径,从显示路径的功能上来说,比后者更简便一些;后者则用来返回或设置所选文件的路径与文件名,其语法是:

    文件列表框名称.FileName = 路径

    比如,我们要在窗体启动时将 E:稿件 目录下的所有 ZIP 文件列出来,程序可以这样写:

    Private Sub Form_Load()
  File1.FileName = "E:稿件*.zip"
  End Sub

    结果如图七:     


图七

    四、三个控件的连接:

    上面我们就三个控件进行了分别的学习,在程序中,它们却是互不关连的,并不是只要在窗体中创建了它们,然后对某个控件(如磁盘列表框)进行操作,其他控件就会自动显示相应的磁盘下的文件,这需要用程序进行实现。

    1、将磁盘列表框的操作赋值给文件夹列表框的 Path 属性,在磁盘列表框的 Change 事件中输入如下代码:

    Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive
End Sub

    2、对文件夹列表框控件进行的操作,直接影响文件列表框所显示的内容:

    Private Sub Dir1_Change()
  File1.Path = Dir1.Path
End Sub

    最后结果如图八:     


图八

三控件使用说明部分:

  驱动器列表框控件

对于驱动器列表框控件,最重要的是Drive属性,它是用来返回或设置驱动器列表框中的当前盘框。

在程序中,我们可以通过:Drive1. Drive=”c”代码来设置驱动器列表框中的当前盘符。也可以通过如下代码:

Dim R As String

R = Drive1.Drive

来取得驱动器列表框中的当前驱动器的盘符及卷标。

无论是程序运行时用户在更改了驱动器列表框中当前驱动器,还是代码改变当前驱动器,都会触发驱动器列表框控件的Change事件,因此我们可以对驱动器列表框的Chang事件过程编程来实现目录列表框控件与驱动器控件的关联。

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

上述代码表示,当前驱动器列表框的当前驱动器改变时,将目录列表框中的当前目录指向新的当前驱动器的根目录

  目录列表框控件

对于目录列表框控件,最这样的是属性是Path属性,它用来返回或设置目录列表框控件的当前路径。

Dim R As String

R = Dir1.Path

End Sub

来获得当前目录列表框中的当前路径

无论是程序运行时用户在更改了目录列表框中当前路径,还是代码实现了当前路径的更改,都会触发驱动器列表框控件的Change事件,因此我们可以对驱动器列表框的Chang事件过程编程来实现目录列表框控件与驱动器控件的关联。

Private Sub Dir1_Chang()

File1.Path = Dir1.Path

End Sub

当目录列表框中的内容改变时,文件列表框中所列出的内容也随之变成新的路径下的文件列表。

  文件列表框控件

文件列表框中所列出的是哪个文件夹的文件是由其Path属性决定。例如要将文件列表框中的内容设置为“C:\Windows”里的所有文件,可以将其的Path属性设置为“C:\Windows”即可。

文件列表框的另一个重要属性是“Pattern'’属性,此属性用来返回或设置在文件列表框  中所列出的是什么类型的文件。例如要求在文件列表框中只列出文本文件,可以通过将Pattern属性设置为“*Txt”来实现;将其设置为“*sys”时则是用来控制文件列表框只显示系统文件。如果要限制文件列表框只显示某个类型的文件,需要在这多种类型文件的扩展名之间用分号;分隔。例如要在文件列表框显示文本文件、WPS文档、批处理命令文件这三种类型的文件,需要将Pattern属性设置为“*txt*wps*bat"

文件列表框控件还具有Hidden属性、System属性和ReadOnly属性,它们是分别决定在文件列表框控件中是否显示隐藏文件、系统文件、只读文件。它们取值为逻辑值,其值为“True”时,文件列表框中可以显示隐藏文件、系统文件、只读文件,具值为“Fslse”时。文件框中不显示隐藏文件、系统文件、只读文件。

到此我们已经知道如何将三个文件系统控件进行连接。下面举个小例子,程序运行时界  面如下图所示。

文件系统控件综合应用

并为程序编写如下代码:

Private Sub Command1_Click()

MsgBox File1.Path & "\" & File1.FileName

End Sub

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

当程序启动后若改变了驱动器列表框中的当前驱动器,那么目录列表框就会随之做出相应改变,文件列表框也会随着目录列表框改变而改变。当用户在文件列表框中选择某个文件并单击确定后,将会弹出一对提示框,显示这个文件的路径及文件名。

下面简单解下述代码的意义。

首先,在驱动器列表框控件的Change事件过程中设置与目录列表框控件的关联,然后再在目录列表框控件的Change事件过程中设置与文件列表框的关联,通过这两个事件过程,这三个控件就相互关联起来了。确定按钮的单击过程是用来显示所选文件的路径及文件名。其中,Path属性的意义前面已经介绍过了。FileName则是用来返回或设置所选文件的文件名的,该属性不出现在属性窗门中,只能通过代码进行访问,若没有选择文件,则该属性的值是一个空字符串。

我在这里学编程 

阅读(4028) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册