Welcome

首页 / 软件开发 / VB / vb文件系统控件方案

vb文件系统控件方案2008-03-08文件系统控件方案:文件搜索器

应用程序因为用户常常希望快速查找应用程序的可用文件或文件组,所以,许多应用程序都提供查询文件系统的功能。Winseek.vbp 示例应用程序协助用户浏览驱动器和目录并显示所有类型的文件。

下表总结了 WinSeek 应用程序在Seek.frm 窗体中使用的控件。

注意 文件系统控件没有 caption 属性,虽然可为它们加标签并指定访问键。关于这种使用标签的方法的详细信息,请参阅本章后面的“使用Label 控件”一节。

编写 WinSeek 应用程序的代码

用鼠标单击驱动器列表框中的项目就会触发 Change 事件。当用户选定项目并接着改变窗体上的焦点时也将触发 Change 事件。在目录列表框中,需要 DblClick 事件生成 Change 事件。

当用户不想用鼠标变更目录时,通常使用箭头键选定需要的目录,然后按ENTER 键。

因为 ENTER 键通常与缺省 CommandButton 控件关联,所以,WinSeek 必须识别用户在何时只是想变更目录而不搜索文件。

通过判断 dirList 列表框的路径是否不同于当前突出显示的目录,WinSeek应用程序解决了这个问题。当用户单击目录列表框中的项目或用箭头键在目录列表框中移动时,可能发生这种情况。下列代码判断 dirList.Path 是否与突出显示的目录不同。若不同,则更新 dirList.Path。若相同,则执行搜索操作。

Private Sub cmdSearch_Click()
.
.
.
"若 dirList.Path 与当前选定目录不同,
"则执行更新操作;否则执行"搜索操作。
If dirList.Path <> dirList.List(dirList.ListIndex) Then
dirList.Path = dirList.List(dirList.ListIndex)
Exit Sub
End If
"继续搜索。
.
.
.
End Sub

WinSeek 应用程序使用下述过程处理重要的事件:

drvList_Change 过程

dirList_Change 过程

cmdSearch_Click 过程

DriveListBox 控件的 Change 事件

当用户单击驱动器列表框的项目时就会生成控件的 Change 事件。此时将调用 drvList_Change 事件过程并运行下述代码:Private Sub drvList_Change ()
On Error GoTo DriveHandler
"若选定新驱动器,则 Dir1 列框"更新显示 。
dirList.Path = drvList.Drive
Exit Sub

"若发生错误,则用 dirList.Path 重新设置 drvList.Drive。

DriveHandler:
drvList.Drive = dirList.Path
Exit Sub
End Sub