Visual Basic .NET Power Pack 简介
原文地址:http://www.microsoft.com/china/msdn/library/langtool/vbnet/vbpowerpack.mspx
Robert Green
Microsoft Corporation
适用范围:
Microsoft Visual Basic .NET 版本 2003
摘要:本文介绍了 Visual Basic Power Pack,它由一组自定义控件组成,为基于客户端的应用程序提供了增强的用户界面元素。
本页内容
引言 | |
Power Pack 控件概述 | |
BlendPanel 控件 | |
UtilityToolbar 控件 | |
ImageButton 控件 | |
NotificationWindow 控件 | |
TaskPane 控件 | |
FolderViewer 和 FileViewer 控件 | |
结论 |
引言
Visual Basic Power Pack 由七个使用 Visual Basic .NET 2003 编写的自定义控件组成。这些控件提供了增强的用户界面元素,允许您创建更生动有趣的基于客户端的应用程序。
Power Pack 控件包括:
• |
BlendPanel:提供窗体背景,颜色由一种阴影渐变为另一种阴影。 |
• |
UtilityToolbar:工具栏,外观类似于 Internet Explorer 工具栏。 |
• |
ImageButton:按钮,在透明背景上显示图形。 |
• |
NotificationWindow:在弹出窗口(常称作“toast”)中显示文本和图形。 |
• |
TaskPane:容器,提供可折叠的框架以显示窗体附加信息。 |
• |
FolderViewer:使用分层格式显示目录。 |
• |
FileViewer:显示指定目录中文件的列表。 |
Power Pack 控件概述
Power Pack 控件可从 Visual Basic Power Pack GotDotNet Workspace(英文)下载。要下载的内容包括:控件的完整源代码、本文档和一个简单示例应用程序。
Power Pack 控件的代码驻留在名为 VbPowerPack 的项目中。该项目包含了每个控件的一个或多个文件。这些文件都位于同一目录。
所有控件都驻留在 VbPowerPack 命名空间中。支持控件设计时功能的各种类位于 VbPowerPack.Design 命名空间。为简单起见,设计时未将这些类归在单独的程序集中,尽管这样可行。
源文件绝大部分是一些类和类的枚举。此外,部分模块和类提供了一些帮助程序函数和代码供处理 Win32 和 Windows 外壳程序库。
要使用 Power Pack 控件,应打开 VbPowerPack 项目并构建它。这将创建 VbPowerPack.dll 文件。要将 Power Pack 控件添加到您的工具箱,请右键单击工具箱,然后选择添加|删除项。在.NET Frameworks 组件选项卡上,选择浏览,然后选择 VbPowerPack.dll。现在,您可以像使用您创建的用户或自定义控件一样使用 Power Pack 控件。
Power Pack 包括基于 SQL Server Northwind 数据库的示例应用程序。“产品”窗体是主窗体,显示产品信息。该窗体使用 BlendPanel、UtilityToolbar、ImageButton、NotificationWindow 和 TaskPane 控件。当用户单击“查找”时,调用 DocBrowser 窗体并使用 FolderViewer 和 FileViewer 控件。
图 1:示例应用程序的“产品”窗体
BlendPanel 控件
许多用户界面中使用混合背景,例如,Windows Media Player 的任务栏或各种 Office 2003 产品的“任务窗格”中的各个框架。在这些背景中,颜色由一种底纹渐变为另一种底纹。
Power Pack 在 BlendPanel 控件中的窗体中添加了这种渐变功能(请参见文件 BlendPanel.vb)。BlendPanel 仅仅是个面板控件,不具有 BackColor 属性,而具有 Blend 属性。Blend 属性是 BlendFill 类(在文件 BlendFill.vb 中定义)的一个实例,控制如何绘制背景。BlendFill 类的构造函数采用 Style(渐变方向)、StartColor 和 FinishColor 作为参数。
设计时,在属性窗口选择 Blend 属性将显示 BlendFillEditor UI(请参见文件 BlendFillEditor.vb 和 BlendFillEditorUI.vb)。方向选项卡用于选择阴影方向。有以下选项:
• |
纵向。 当您从下向上移动时,BlendPanel 变暗。这是 BlendPanel 的默认方向。 |
• |
横向。当您从左向右移动时,BlendPanel 变暗。 |
• |
向前对角线。 当您从右下角向左上角移动时,BlendPanel 变暗。 |
• |
向后对角线。当您从左下角向右上角移动时,BlendPanel 变暗。 |
起始颜色选项卡用于设置渐变的开始颜色。默认头部颜色是 System.Drawing.SystemColors.InactiveCaption。结束颜色选项卡用于设置渐变的结束颜色。默认结束颜色是 System.Drawing.SystemColors.Window。
图 2:设置 BlendPanel 的 Blend 属性
在运行时,通过将 Blend 属性设置为 BlendFill 类的新实例并为 Blend.Style、Blend.StartColor 和 Blend.FinishColor 指定不同值,可以更改 BlendPanel 的外观。Blend.Style、Blend.StartColor 和 Blend.FinishColor 属性为只读,因此,必须使用下列语法设置 BlendPanel 的 Blend 属性才能对其进行更改:
BlendPanel1.Blend = _ New VbPowerPack.BlendFill(blendstyle, startcolor, finishcolor)
Blend.Style 可设置为以下值之一:
• |
VbPowerPack.BlendStyle.Vertical(默认值) |
• |
VbPowerPack.BlendStyle.Horizontal |
• |
VbPowerPack.BlendStyle.ForwardDiagonal |
• |
VbPowerPack.BlendStyle.BackwardDiagonal |
Blend.StartColor 和 Blend.FinishColor 可设置为任何颜色。
示例“产品”窗体有一个 BlendPanel 选项的菜单选择。这将打开一个对话框,可在其中更改 BlendPanel 的方向。以下代码将调用该选项对话框并将当前的 BlendStyle 传递给它。然后,代码再根据用户作出的选择更改 BlendStyle。StartColor 和 FinishColor 保持相同。它们被设置为现有值。
' 当用户从“选项”菜单中选择 UtilityToolbar 时 ' 弹出 UtilityToolbarOptions 窗体。 Dim frmOptions As New BlendPanelOptions ' 将 BlendPanel 当前的样式传给此窗体。' 这将用于显示当前设置。 frmOptions.BlendStyle = BlendPanel1.Blend.Style If frmOptions.ShowDialog = DialogResult.OK Then ' 更改 BlendPanel 的 Blend 以反映 ' 用户选择的新配置。StartColor 和 EndColor 保持不变。 ' 请注意,Style、StartColor 和 FinishColor 属性是 ' 只读的。要变更任一属性,您必须设置 ' BlendPanel 的 Blend。 Me.BlendPanel1.Blend = New _ VbPowerPack.BlendFill(frmOptions.BlendStyle, _ BlendPanel1.Blend.StartColor, BlendPanel1.Blend.FinishColor) End If
窗体还包括逻辑,以基于库存的每个产品的数量更改 BlendPanel 的 StartColor 和 FinishColor。如果库存量少于 10 个单位,BlendPanel 变红。当用户滚动到库存量超过 10 个单位的记录时,BlendPanel 颜色设置回原色。
If drvProducts("UnitsInStock") < 10 Then BlendPanel1.Blend = New _ VbPowerPack.BlendFill(BlendPanel1.Blend.Style, _ System.Drawing.Color.IndianRed, _ System.Drawing.Color.Crimson) Else ' 将 BlendPanel 当前的 StartColor 保存到字符串变量中。 strCurrentStartColor = BlendPanel1.Blend.StartColor.ToString ' 将 BlendPanel 最初的 StartColor 保存到字符串变量中。 strOriginalStartColor = _ System.Drawing.SystemColors.InactiveCaption.ToString ' 若 BlendPanel 的渐变已经更改,请将它设置回 ' 默认的颜色。 If Not strCurrentStartColor = strOriginalStartColor Then BlendPanel1.Blend = New _ VbPowerPack.BlendFill(BlendPanel1.Blend.Style, _ System.Drawing.SystemColors.InactiveCaption, _ System.Drawing.SystemColors.Window) End If End If
UtilityToolbar 控件
一直以来,工具栏都是访问常用功能(例如格式化、导航、编辑、更新等)的方便途径。Power Pack 提供 UtilityToolBar 控件(请参见文件 UtilityToolbar.vb 和 UtilityToolbarButtons.vb),该控件继承自 Windows 窗体的 ToolBar 控件。UtilityToolbar 包括预制按钮集和与这些按钮相对应的事件,并模仿 Internet Explorer 工具栏的外观。
将 UtilityToolBar 添加到窗体后,可以从属性窗口选择 Buttons 属性。这会打开自定义工具栏对话框(请参见文件 UtilityToolbarCustomizeDialog.vb)。此对话框模仿 Internet Explorer 中的相似对话框。要比较这两个对话框,可以在 Internet Explorer 中选择查看|工具栏|自定义。
图 3:向 UtilityToolbar 添加按钮
注意:“文本选项”的默认设置是“右侧选择性文本”。因此,在选择“后退”和“前进”按钮时,只有选择“后退”按钮才显示文本。Power Pack 的很多早期用户曾认为这是一个缺陷。其实,它是设计使然,并且是 Internet Explorer 中工具栏的工作方式。
UtilityToolbar 的重要属性包括:
• |
Buttons:组成 UtilityToolbar 的工具栏按钮集合。 |
||||||
• |
IconOptions:控制如何显示图标和图像。可将它设置为以下任一值:
|
||||||
• |
ShowText:控制是否按各工具栏按钮图像的相对位置显示文本,以及显示的具体位置。可将它设置为以下值之一:
|
||||||
• |
Appearance:控制 UtilityToolbar 的外观,可将它设置为以下任一值:
|
注意:如果在同一窗体中使用 UtilityToolBar 和 BlendPanel,需了解将 UtilityToolbar 的 Appearance 设置为 Flat 时的绘制问题。要查看行为,请先添加 BlendPanel 并将 Dock 属性设置为 Fill。然后再将 UtilityToolbar 添加到窗体中。UtilityToolBar 立即包含在 BlendPanel 中。一旦运行窗体,您将在 UtilityToolBar 中看到屏幕的其余部分。有两种方法可避免该问题。第一种,将 UtilityToolbar 的 Appearance 设置为 Normal。第二种,首先将 UtilityToolBar 添加到窗体中,然后再添加 BlendPanel。
UtilityToolBar 有与它所包含的每个按钮相关联的事件。例如,选择“后退”按钮将触发 BackPressed 事件。
“产品”示例窗体的 UtilityToolbar 包括“后退”、“前进”和“保存”按钮。用于在产品间来回切换的代码包括在 BackPressed 和 ForwardPressed 事件的代码中。
“产品”窗体有一个 UtilityToolbar 选项的菜单选择。它将弹出一个对话框,允许您更改 UtilityToolbar 的外观、图标选项和文本选项。下面的代码将调用选项对话框,并将 Appearance、IconOptions 和 Text 的当前设置传递给它。然后,代码再根据用户作出的选择更改这些设置。
' 当用户从“选项”菜单中选择 UtilityToolbar 时 ' 弹出 UtilityToolbarOptions 窗体。 Dim frmOptions As New UtilityToolbarOptions ' 将 UtilityToolbar 的 Appearance、IconOptions 和 ' ShowText 当前设置传递给窗体。这将用于显示 ' 当前设置。 frmOptions.UtilityToolbarAppearance = UtilityToolBar1.Appearance frmOptions.UtilityToolbarIcons = UtilityToolBar1.IconOptions frmOptions.UtilityToolbarText = UtilityToolBar1.ShowText If frmOptions.ShowDialog = DialogResult.OK Then ' 更改 Appearance、IconOptions 和 ShowText 设置,以便 ' 反映用户作出的选择。 UtilityToolBar1.Appearance = frmOptions.UtilityToolbarAppearance UtilityToolBar1.ShowText = frmOptions.UtilityToolbarText UtilityToolBar1.IconOptions = frmOptions.UtilityToolbarIcons End If
实现这一结果的另一方法是,使用 UtilityToolBar 的 ShowCustomizeDialog 方法。这将弹出一个对话框,且与创建 UtilityToolbar 时使用的对话框相同。
UtilityToolBar1.ShowCustomizeDialog()
“产品”窗体不允许对已中断的产品进行更改。因此,窗体中包含了将 UtilityToolbar“保存”按钮的 Enabled 属性设置为 False 的代码,以便应付产品中断。此外,您也可以使用按钮的 Visible 属性指定 “保存”按钮是否出现,而不是启用或禁用它。
向 UtilityToolbar 添加按钮的方式可以与向 Windows 窗体工具栏添加按钮的方式完全相同。
Dim newButton As New VbPowerPack.UtilityToolBarButton UtilityToolBar1.Buttons.Add(newButton) newButton.Text = "Click Me"
注意:如所编写的,UtilityToolbar 支持固定数目的图像,因此不显示 ImageList 属性。这意味着,尽管您可以向 UtilityToolbar 添加按钮,但却无法为其分配图像。
ImageButton 控件
向 Button 控件添加图像是一件非常简单的事。图像也和文本一样出现在矩形按钮中,看起来仍像是一个普通按钮。ImageButton 控件(参见文件 ImageButton.vb)是一种背景透明并显示隐藏图像的按钮。因此,用户看到的只是图像。ImageButton 继承自 Control,并在各方面都与普通按钮一样。ImageButton 实现了 IButtonControl,因此可在窗体上被设置为 AcceptButton 或 CancelButton。
ImageButton 提供的图像选项多于 Button 控件。其重要属性包括:
• |
NormalImage:在 ImageButton 处于正常状态时显示的图像。 |
||||
• |
HoverImage:鼠标悬停于 ImageButton 之上时显示的图像。 |
||||
• |
PressedImage:单击 ImageButton 并按住鼠标按键时显示的图像。 |
||||
• |
DisabledImage:禁用 ImageButton 时显示的图像。如果不指定 DisabledImage,NormalImage 的颜色稍淡,看起来像是已禁用。 |
||||
• |
SizeMode:基于图像和所显示文本的大小来确定如何调整按钮大小。可将它设置为以下任一值:
|
||||
• |
ShowFocusRect:确定 ImageButton 获得焦点后是否显示虚线矩形。如果 ImageButton 未获焦点,矩形不出现。 |
“产品”示例窗体包含两个 ImageButton,每个 ImageButton 都在右侧显示文本。与预期的一样,单击按钮时运行的代码在每个按钮的 Click 方法中。
图 4:“产品”示例窗体中的 ImageButton
NotificationWindow 控件
通知窗口(有时称作“toast”)在诸如 Windows Messenger 这样的应用程序中使用,它可以以可视方式向用户显示信息。通常,这些窗口就出现在 Windows 任务栏状态区域的上下。
您可以使用 NotificationWindow 控件(参考文件 NotificationWindow.vb)将此类通知添加到解决方案中。NotificationWindow 是一个无边框窗体,它通过 BlendPanel 提供正确的外观。该窗口根据 Windows 任务栏的位置对自己的位置进行相应的调整。
在设计时,NotificationWindow 是非可视组件,驻留在组件托盘中。
NotificationWindow 的重要属性包括:
• |
DefaultText:窗口中默认显示的文本。 |
||||||
• |
DefaultTimeout:超过该默认时间段(毫秒)后窗口消失。 |
||||||
• |
ShowStyle:确定窗口的出现方式。可将它设置为以下值之一:
|
||||||
• |
Blend:NotificationWindow 包括一个 BlendPanel,可以使用 BlendFill(参见本文前面的介绍)控制颜色和渐变。 |
||||||
• |
BottomImage:用于将图像添加到窗口底部。 |
||||||
• |
CornerImage:用于将图像添加到窗口左上方。 |
||||||
• |
TextIsHyperLink:控制是否将窗口中的文本显示为超链接标签。 |
在运行时,使用 Notify 方法可以使窗口出现。Notify 方法有几个重载,您可以使用它们替换窗口属性。例如,使用每个属性的当前值显示 NotificationWindow:
Notify()
显示特定文本,但仍使用其他属性的当前值:
Notify("some text")
显示特定文本五秒钟,但仍使用其他属性的当前值:
Notify("some text", 5000)
此外,Notify 还有一个替代方法,该方法允许为所有的窗口属性指定值。
在“产品”示例窗体中,NotificationWindow 的目的有二。其一,通知用户存在打印问题。第二,指出某项目已中断。
' 如果当前显示的产品已中断,则通过 ' 显示通知窗口来警告用户。 If drvProducts("Discontinued") = True Then ' 这是要在通知窗口中显示的图像。 img = Image.FromFile("C:\VBPowerPackSample\wgcustomerdetails.ico") With NotificationWindow1 ' 在通知窗口左上方显示图像。 .CornerImage = img.GetThumbnailImage(32, 32, Nothing, Nothing) ' 使通知窗口从屏幕底部滑出。 .ShowStyle = VbPowerPack.NotificationShowStyle.Slide End With ' 显示带有指定文本的通知窗口。 frmNotification = NotificationWindow1.Notify("This item is discontinued") End If
图 5:使用通知窗口向用户显示信息
NotificationWindow 在达到超时时间或用户单击它时消失。在“产品”窗体中,上面的通知将在三秒后超时,但仅限于已中断的产品。如果用户移至另一记录,该窗口应关闭。Notify 方法可返回通知窗口的一个引用(是一个窗体)。因此,示例窗体包括下面的代码行,作用是在用户离开当前记录后使窗体(如果窗体存在,即 NotificationWindow 可见)关闭。
If Not IsNothing(frmNotification) Then frmNotification.Close()
TaskPane 控件
优秀的用户界面设计是以最有效的方式组织和显示信息。关键信息应位于前端且居中,相关信息应位于一侧。允许用户根据需要显示或隐藏相关信息非常有用。Windows 资源管理器便有这种类型的 UI,左侧包含了像系统任务、文件和文件夹任务、其他位置和详细信息等这样的框架。这些框架可以折叠或展开,进而隐藏或显示相关信息。
Power Pack 提供了 TaskPane 控件(参考文件 TaskPane.vb),您可以使用它在解决方案中创建类似的 UI。TaskPane 是 TaskFrame(参考文件 TaskFrame.vb)的容器。TaskFrame 是一种带标题栏的面板,其中包含按钮。单击标题栏或按钮可展开或折叠 TaskFrame。
TaskPane 是容器控件。在向窗体中添加它时,您将看到空的矩形。使用“属性”窗口中的 TaskFrames 属性可访问“TaskFrame 集合编辑器”(参考文件 TaskFrameDesigner.vb)。然后,可以使用该对话框将 TaskPanes 添加到 TaskFrame 中。
使用 TaskPane 时设置的大部分属性都与各个 TaskFrame 有关。TaskFrame 的重要属性包括:
• |
Image:指定要在标题栏中显示的图像。 |
||||||
• |
Text:指定要在标题栏中显示的标题。 |
||||||
• |
BackColor:指定要在标题栏下方 TaskFrame 区域中使用的背景色。 |
||||||
• |
CaptionBlend:标题栏包括了 BlendPanel,您可以使用 BlendFill 控制颜色和渐变。 |
||||||
• |
CaptionHighlightColor:指定鼠标悬停于标题栏之上时显示的标题颜色。 |
||||||
• |
CollapseButtonVisible:确定标题栏是否显示折叠按钮。如果不显示,用户无法手动折叠或展开 TaskFrame。 |
||||||
• |
IsExpanded:控制和/或指出是否展开 TaskFrame。更改该值将使 TaskFrame 折叠或展开。 |
||||||
• |
CornerStyle:控制如何在各个 TaskFrame 的顶部绘制标题栏的角。默认设置是使用操作系统确定的样式。可将它设置为以下值之一:
|
TaskPane 的 CollapseAll 方法可折叠其所有 TaskFrame,ExpandAll 方法可将它们全部展开。但没有相应的方法分别折叠或展开各个框架。不过,您可以更改 TaskFrame 的 IsExpanded 属性来展开或折叠它。
If TaskPane1.TaskFrames(0).IsExpanded = False Then TaskPane1.TaskFrames(0).IsExpanded = True End If
可以使用 TaskPane 的 FrameCollapsed 和 FrameExpanded 事件来响应相关联的操作。使用 e.TaskFrame 可确定哪个框架被折叠或展开。
If e.TaskFrame.Name = "tskfrmOrderSummary" Then ...
“产品”示例窗体右侧有一个 TaskPane。此外还有两个 TaskFrame,一个显示产品供应商信息,一个显示产品订购历史记录。订购历史记录仅在 TaskFrame 展开时才生成。用户在产品之间滚动时不生成订购历史记录。
图 6:在 TaskPane 中显示其他产品信息
FolderViewer 和 FileViewer 控件
Visual Studio .NET 2003 附带了 FolderBrowserDialog 和 OpenFileDialog 控件。它们分别用于浏览和选择文件夹及文件。这两个控件非常便于使用,但属于模式对话框。二者不能在一起使用。您可以在 OpenFileDialog 中选择一个文件夹,但同时查看文件夹列表和文件列表则是不可能的。此外,这些系统对话框无法自定义,无法满足特定的方案需求。
Visual Basic Power Pack 提供了 FolderViewer(参考文件 FolderViewer.vb)和 FileViewer(参考文件 FileViewer.vb)控件。它们与 FolderBrowserDialog 和 OpenFileDialog 一起共享了很多功能。FolderViewer 基于 TreeView 控件,FileViewer 基于 ListView 控件。
FolderViewer 的重要属性包括:
• |
RootPath:确定显示在 FolderViewer 中的最顶层文件夹。默认值为空,此时 FolderViewer 将“桌面”作为最顶层节点显示。 |
• |
CurrentFolder:返回用户选定的文件夹。 |
FileViewer 的重要属性包括:
• |
Path:确定或返回正在被查看或选择的目录。默认值是“我的电脑”。 |
||||||||||
• |
Pattern:用于筛选所显示的文件类型。 |
||||||||||
• |
View:控制文件的显示方式。可将它设置为以下值之一:
|
||||||||||
• |
SortBy:用于对显示在 FileViewer 中的文件进行排序。可将它设置为以下值之一:
|
||||||||||
• |
Files:返回显示在 FileViewer 中的文件的集合。 |
||||||||||
• |
SelectedFiles:返回用户选定的文件的集合。 |
“产品”示例窗体的“查找”按钮可调用“文档浏览器”窗体。该窗体包含了 FolderViewer 和 FileViewer。FolderViewer 的 RootPath 在窗体的 Load 方法中设置。当用户在 FolderViewer 中选择节点时,FileViewer 的 Path 属性将被设置为该目录,系统将更新 FileViewer 以显示该目录中的文件。
图 7:示例应用程序的“文档浏览器”窗体
注意:有时,您无法将 FileViewer 的 Path 设置为在 FolderViewer 中选定的目录。例如,如果 FileViewer 的 Path 值等于 FolderViewer 的 CurrentDirectory,在 FolderViewer 中选择“我的电脑”将导致异常。选择“我的电脑”时,FolderViewer 的 CurrentFolder 包含一个 GUID。FileViewer 无法显示它,写入后将引发异常。之后,可以将 FileViewer 的 Path 设置为字符串“我的电脑”。
' 将当前路径保存到字符串变量中。 filePath = FileViewer1.Path Try ' 更改 FileViewer 要查找的目录,将它设置为 ' 在 FolderViewer 中选定的目录。 FileViewer1.Path = FolderViewer1.CurrentFolder Catch ex As Exception ' 通过显示通知窗口来警告用户。 ' 指定要在通知窗口中显示的图像。 img = Image.FromFile("C:\VBPowerPackSample\wgcustomerdetails.ico") ' 图像将出现在通知窗口的左上方。 NotificationWindow1.CornerImage = img.GetThumbnailImage(32, 32, _ Nothing, Nothing) ' 显示带有指定文本的通知窗口。 frmNotification = NotificationWindow1.Notify("对不起,您无法查看该文件夹") ' 将 FileViewer 路径重新设置为以前的值。 FileViewer1.Path = filePath End Try
当用户双击显示在 FileViewer 中的文件时,文件将在相应的程序中打开。
' 创建一个进程类实例,用于运行应用程序。 proc = New Process ' 将选定文件的名称保存到字符串变量中。 fileName = FileViewer1.SelectedFiles(0).Name ' 通知进程使用哪个文件。 proc.StartInfo.FileName = FileViewer1.Path & "\" & fileName ' 通知进程使用操作系统解释器命令启动 ' 进程。 proc.StartInfo.UseShellExecute = True Try ' 启动进程。 proc.Start() Catch ex As Exception ' 如果启动进程时出错,则显示通知窗口 ' 来警告用户。 ' 这是要在通知窗口中显示的图像。 img = Image.FromFile("C:\VBPowerPackSample\wgcustomerdetails.ico") ' 图像将出现在通知窗口的左上方。 NotificationWindow1.CornerImage = img.GetThumbnailImage(32, 32, _ Nothing, Nothing) ' 显示带有指定文本的通知窗口。 frmNotification = NotificationWindow1.Notify("Couldn't open " & _ fileName) End Try
通过在文本框中输入模式并选择“模式”按钮,用户可以筛选 FileViewer 中的文件。“重置”按钮可清除模式以便显示所有文件。
FileViewer1.Pattern = txtPattern.Text
此外,“文档浏览器”窗体允许用户在各种 FileViewer 视图间切换,同时对文件进行排序。
结论
Visual Basic Power Pack 提供了一组自定义控件,您可以使用这些控件在基于客户端的应用程序中添加更具视觉效果的附加元素。无论是在设计时,还是在运行时,这些控件使用起来都非常简便。此外,由于控件随源代码提供,您可以在合适的时候扩展或更改其行为。
欢迎加入 GotDotNet 中的 Visual Basic Power Pack 工作区,网址是:http://www.gotdotnet.com/Community/Workspaces/workspace.aspx?id=167542e0-e435-4585-ae4f-c111fe60ed58(英文)。在此,您可以就控件问题进行讨论,并及时获取更新文件和最新版本。此外,如果您愿意的话,还可以就更新和新版本贡献自己的力量。