vb.net入门——ToolBar 控件的使用


在一些有复杂菜单或者命令的Windows应用程序中,通常会使用到工具栏,它通常是以普通按钮、下拉菜单或者分隔符的形式显示的,一般情况下,工具栏上的按钮或菜单式与应用程序的菜单中的项对应,给用户提供了对应用程序的一些常用菜单的快捷访问,如下图一红圈内部分所示就是IE的工具栏:

在vb.net中,我们是用ToolBar 控件来制作工具栏的,它在工具箱中如下图二所示:

一个完整的工具栏一般包括命令按钮、命令按钮上显示的图标、命令按钮响应的命令。所以我们设计工具栏的时候,需要为 ToolBar 控件添加按钮,然后为按钮关联相关的图标,最后为按钮设计它所要响应的命令代码。

1、在设计时添加按钮

1)、选择窗体上的“工具栏”(ToolBar) 控件,在“属性”窗口中单击 Buttons 属性后的省略号按钮打开 ToolBarButton 集合编辑器。

2)、使用“添加”和“移除”按钮分别向“工具栏”(ToolBar) 控件添加按钮和从中移除按钮。

3)、配置编辑器右侧窗格中出现的“属性”窗口中单个按钮的属性。要考虑的重要属性包括:

属性 说明
DropDownMenu 设置要在下拉工具栏按钮中显示的菜单。工具栏按钮的 Style 属性必须设置为 DropDown Button。该属性将 ContextMenu 类的一个实例作为引用。有关示例,请参见下面的代码实例。
PartialPush 设置切换样式的按钮是否为部分下压。工具栏按钮的 Style 属性必须设置为 ToggleButton
Pushed 设置切换样式的工具栏按钮当前是否处于下压状态。工具栏按钮的 Style 属性必须设置为 ToggleButtonPushButton
Style 设置工具栏按钮的样式。必须是 ToolBarButtonStyle 枚举中的值之一。
Text 按钮显示的文本字符串。
ToolTipText 显示为按钮的工具提示的文本。

4)、最后单击“确定”即可创建我们的工具栏了。

注意:如果工具栏按钮的 Style 属性设置为 DropDown Button,即设置为下拉菜单样式(如图三所示),则必须在窗体上另外布置一个上下文菜单组件(ContextMenu),然后把该按钮的 DropDownMenu 属性关联到 ContextMenu 组件,如下图四所示:

2、以编程方式添加按钮

1)、在过程中,创建工具栏按钮,将这些按钮添加到 ToolBarButtons 集合中。

2)、通过 Buttons 属性传递按钮的索引来指定单个按钮的属性设置。

如下代码所示:(注意   ToolBarButtons 集合是一个从零开始的集合,所以应按相应的初始值编写代码)

Public Sub CreateToolBarButtons()

'创建新的按钮

ToolBar1.Buttons.Add("一")

ToolBar1.Buttons.Add("二")

ToolBar1.Buttons.Add("三")

ToolBar1.Buttons.Add("四")

'以按钮的索引设置单个按钮的属性

ToolBar1.Buttons(0).Style = ToolBarButtonStyle.PushButton

ToolBar1.Buttons(1).Style = ToolBarButtonStyle.Separator

ToolBar1.Buttons(2).Style = ToolBarButtonStyle.ToggleButton

ToolBar1.Buttons(3).Style = ToolBarButtonStyle.DropDownButton

ToolBar1.Buttons(2).PartialPush = True

'为按钮关联下拉菜单

Dim cm As New ContextMenu()

Dim miOne As New MenuItem("一")

Dim miTwo As New MenuItem("二")

Dim miThree As New MenuItem("三")

cm.MenuItems.Add(miOne)

cm.MenuItems.Add(miTwo)

cm.MenuItems.Add(miThree)

ToolBar1.Buttons(3).DropDownMenu = cm

ToolBar1.Buttons(0).Pushed = True

ToolBar1.Buttons(1).ToolTipText = "按钮二"

End Sub

把 CreateToolBarButtons 过程放到窗体的 New() 过程中,运行后效果如下图五所示:

二、为按钮显示图标

工具栏按钮中显示图标可以使用户便于识别按钮。我们是通过向 ImageList 组件(相关文章单击这里参看)添加图像,然后使 ImageList 组件与“工具栏”(ToolBar) 控件关联。

1、在设计时设置工具栏按钮的图标

1)、将 ImageList 组件从“工具箱”拖到窗体上。

2)、在“属性”窗口中,单击 Images 属性,并向 ImageList 控件添加图像。

3)、将 ToolBar 控件从工具箱拖到窗体上。

4)、在“属性”窗口中,将 ToolBar 控件的 ImageList 属性设置为前面添加的 ImageList 控件。

5)、单击 ToolBar 控件的 Buttons 属性选择该属性,然后单击省略号按钮打开 ToolBarButton 集合编辑器。

6)、使用“添加”按钮向 ToolBar 控件添加按钮。

7)、在 ToolBarButton 集合编辑器右侧窗格中出现的“属性”窗口中,将每个工具栏按钮的 ImageIndex 属性设置为列表中的值之一,该值是从向 ImageList 组件添加的图像中提取的。

2、以编程方式设置工具栏按钮的图标

1)、在过程中,实例化一个 ImageList 组件和一个 ToolBar 控件。

2)、在同一过程中,向该 ImageList 组件分配一个图像。

3)、在同一过程中,向该 ToolBar 控件分配 ImageList 控件,并分配单个工具栏按钮的 ImageIndex 属性。

代码如下:

Public Sub InitializeMyToolBar()

Dim ImageList1 As New ImageList

Dim myImage As System.Drawing.Image = Image.FromFile("C:\icon\1.ico")

ImageList1.Images.Add(myImage)

ToolBar1.ImageList = ImageList1

ToolBar1.Buttons(0).ImageIndex = 0

End Sub

把该过程和前面的过程一起放在窗体的New()过程中,运行效果如下图六所示:

三、处理工具栏上的 Click 事件

我们在发生 ToolBar 控件的 ButtonClick 事件时,计算 ToolBarButtonClickEventArgs 类的 Button 属性,然后根据对应的属性来触发我们需要的代码过程即可。

为 ToolBar 控件的 ButtonClick 事件添加事件处理程序。使用 Select Case 语句和ToolBarButtonClickEventArgs 类来确定单击的工具栏按钮。并据此显示相应的消息框。

如下代码所示:

Private Sub ToolBar1_ButtonClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick

Select Case ToolBar1.Buttons.IndexOf(e.Button)

Case 0

MessageBox.Show("First toolbar button clicked")

Case 1

MessageBox.Show("Second toolbar button clicked")

Case 2

MessageBox.Show("Third toolbar button clicked")

End Select

End Sub

运行,单击工具栏上的按钮,则响应该按钮索引所对应的代码,如下图七所示:

很明显,我们如果要相应对应的菜单,只需要把MessageBox.Show("First toolbar button clicked")代码替换为菜单的事件过程即可

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3