vb文件系统控件的使用

使用文件系统控件(Directory List Box、Drive List Box 和 File ListBox)

许多应用程序必须显示关于磁盘驱动器、目录和文件的信息。为使用户能够利用文件系统,Visual Basic 提供了两种选择。可以使用由 CommonDialog控件提供的标准对话框,或者使用 DirListBox、DriveListBox 和 FileListBox这三种特殊的控件的组合创建自定义对话。
文件系统控件使用户能在应用程序中检查可用的磁盘文件并从中选择。若只需要标准的“打开文件”或“保存”对话框,则应考虑使用 CommonDialog控件。
详细信息 请参阅本章前面的“使用CommonDialog控件”。

示例应用程序:Winseek.vbp
许多代码示例都来自 WinSeek 示例应用程序(Winseek.vbp),该程序列在Samples目录中。

检查文件系统
每个文件系统控件都经过精心设计,将灵活、复杂的文件系统检查功能与简易的编程方法结合起来。每个控件都自动执行文件数据获取任务,但也可编写代码自定义控件外观并指定显示的信息。

可单独使用文件系统控件,也可组合起来使用。组合使用时,可在各控件的事件过程中编写代码来判断它们之间的交互方式。也可让它们独立操作。图 7.17 显示了一起使用的三个控件。
文件系统控件自动从操作系统获取一切信息;可访问此信息或判断每个控件通过其属性显示的信息。例如,在缺省时显示当前工作目录的内容(即启动应用程序的目录,或者由 ChDir 语句改变的当前目录) 。
应用程序也可显示文件列表,这些文件的名字匹配一种模式,例如 *.frm。只需在窗体上绘制一个文件列表,设置其 Pattern 属性为 *.frm。运行时,可用下列代码指定 Pattern 属性:
File1.Pattern = "*.FRM"

文件系统控件使操作非常灵活,这是 CommonDialog 控件无法做到的。可以用多种方法混合、匹配它们,并可控制它们的外观和交互方式。
如果目的就是要让用户能够打开和保存文件,则 CommonDialog 控件为这些操作提供了现成的一组对话框。这些对话框也为许多其它基于 MicrosoftWindows 的应用程序所使用,因此具有标准化的外观。这些控件也能识别可用的网络驱动器。
详细信息 请参阅本章前面的“使用 CommonDialog 控件”。

驱动器列表框
驱动器列表框是下拉式列表框。在缺省时在用户系统上显示当前驱动器。当该控件获得焦点时,用户可输入任何有效的驱动器标识符,或者单击驱动器列表框右侧的箭头。用户单击箭头时将列表框下拉以列举所有的有效驱动器。若用户从中选定新驱动器,则这个驱动器将出现在列表框的顶端。可用代码检查 Drive 属性来判断当前选择的驱动器。应用程序也可通过下述简单赋值语句指定出现在列表框顶端的驱动器:
Drive1.Drive = "c:\"
驱动器列表框显示可用的有效驱动器。从列表框中选择驱动器并不能自动地变更当前的工作驱动器;然而可用 Drive 属性在操作系统级变更驱动器,这只需将它作为 ChDrive 语句的参数:
ChDrive Drive1.Drive

目录列表框
目录列表框从最高层目录开始显示用户系统上的当前驱动器目录结构。起初,当前目录名被突出显示,而且当前目录和在目录层次结构中比它更高层的目录一起向根目录方向缩进。在目录列表框中当前目录下的子目录也缩进显示。在列表中上下移动时将依次突出显示每个目录项。

标识单个目录
列表框中的每个目录关联一个整型标识符,可用它来标识单个目录。CommonDialog 控件没有提供这个功能。Path 属性 (Dir1.Path) 指定的目录总是有 ListIndex 值-1。紧邻其上的目录具有 ListIndex 值- 2,再上一个为ListIndex- 3,依次类推。Dir1.Path 的第一个子目录具有 ListIndex 值 0。如图 7.18 所示,若第一级子目录有多个目录,则每个目录的 ListIndex 值按 1、2、3……的顺序依次排列。

时间: 2024-11-08 18:42:59

vb文件系统控件的使用的相关文章

vb文件系统控件方案

文件系统控件方案:文件搜索器 应用程序因为用户常常希望快速查找应用程序的可用文件或文件组,所以,许多应用程序都提供查询文件系统的功能.Winseek.vbp 示例应用程序协助用户浏览驱动器和目录并显示所有类型的文件. 下表总结了 WinSeek 应用程序在Seek.frm 窗体中使用的控件. 注意 文件系统控件没有 caption 属性,虽然可为它们加标签并指定访问键.关于这种使用标签的方法的详细信息,请参阅本章后面的"使用Label 控件"一节. 编写 WinSeek 应用程序的代码

轻松调整VB.NET控件

控件 轻松调整VB.NET控件 作者: BUILDER.COMWednesday, March 5 2003 10:48 AM Visual Basic .NET使得放置和调整控件的工作比在Visual Basic 6中要容易得多.大多数System.Windows.Forms命名空间里的可视控件是由Control类继承下来的,它可以实现两种属性:Anchor和Dock. Anchor属性可以被设定为Top,Bottom,Left和Right的任何组合.默认设置是Top,Left.这可以保持控件

vb.net 控件backgroundcolor为半透明时,如何让其它控件也半透明显示?

问题描述 vb.net 控件backgroundcolor为半透明时,如何让其它控件也半透明显示? Label1.BackColor = Color.FromArgb(100 0 0 0) 这样做以后只让窗体的背景图片半透明显示了,而其它控件却被遮盖了.(图片为窗体背景)怎么让控件也半透明地显示出来? 解决方案 http://blog.csdn.net/sxycgxj/article/details/6114798http://download.csdn.net/download/zenas/1

vb-关于VB MSCHART控件画柱状折线图的求助

问题描述 关于VB MSCHART控件画柱状折线图的求助 各位大神,小弟求教如何使用VB 中MSCHART控件画出柱状折线图. 例:柱状显示每月实际销量,折线显示销售目标 解决方案 http://wenku.baidu.com/link?url=4dnfuHhQFd_o4Ms3Mybj_C87iVPKPPuz3TAsNVuhQ2q73fnNoFepsKD1ke3Sb2n_e4C2BNW67uwa7aAwGRsArAL_hsVNwyl3lI9VtGdIwGa http://www.docin.co

VB OCX控件的名字和程序的关系

问题描述 VB OCX控件的名字和程序的关系 VB中添加控件对话中会有一个控件的名字,这个名字是放在什么地方的,能不能隐藏起来? 解决方案 这个描述信息是放在ocx控件中的,可以用 exescope 这个工具修改掉. 解决方案二: OCX控件了解

定制VB.NET控件编程拦截击键动作

一.简介 首先,本文假定你已经熟悉VB.net和Visual Studio.NET Windows表单设计器. 在开发定制Windows表单控件时,提供我们自己的下拉框类型编辑器来操作控件的属性常常是非常方便的.定制的类型编辑器不仅可以提供更为丰富的设计时刻体验,而且可能成为用户是否喜欢你的控件的决定因素. 如果你决定创建你自己的下拉式类型编辑器,那么它应该遵循与内置的下拉框类型编辑器相类似的模式.让我们以Anchor属性为例.一种典型的操作该属性的设计时刻用户交互描述如下: · 用户选择属性格

vb.net控件、web service简述

web|控件   在新建vb.net工程时有下面几个选项: 类库:一组没有GUI的类库,类似于java中的bean.一些公用模块写入类库,在项目中使用是个不错的方法. 可以在windows app 或 web app 或更多的项目中使用. 只须在引用中加入对应类库的dll,即可以引用名,类名的方式引用.如果类库中有namespace则要在 开始先imports这个namespace.调用时也可以只用类名. windows控件库:为window app建立的控件,具有GUI. 使用时,在左边工具栏

关于VB.net控件随窗体自动变化的CODE的问题?大侠请进,多谢了。

问题描述 在网上搜索了VB6窗体中控件自动随窗体变化大小(源码)的列子,这段代码是很专业的模块,但是将它放入VB.net中确不行了,提示FormName不是集合类型?我虽然知道可以用DOCK,ANCHOR等属性来调整相应的控件,但是这段代码确真的很有用处,想弄懂它,为什么FormName不是集合类型,会出现这样的错误呢?需要将它改成什么呢?请查看代码(标红色字体为出错代码)ModuleModule1PrivateFormOldWidthAsLong'保存窗体的原始宽度PrivateFormOld

vb.net控件随窗口大小调整

问题描述 '===窗体控件自适应大小2016-7-3===PrivateyuanH,yuanWPrivateyHWAsSingle(,)PrivateSubFormTest_Load(senderAsObject,eAsEventArgs)HandlesMe.LoadyuanH=Me.HeightyuanW=Me.WidthDimctlAsControl'窗体控件变量ReDimyHW(Me.Controls.Count,3)DimjAsInteger=-1ForEachctlInMe.Contr