实例说明
在本实例中,我们将制作一个显示鼠标位置的应用程序。用户可以确定是否显示鼠标位置。程序运行结果如图65-1所示。
图65-1 运行结果
技术要点
l 鼠标位置的确定
l ImageList和ToolBar控件的结合使用
l 按钮切换状态的设置
实现步骤
■ 新建项目
打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"MousePosition:",然后选择保存路径。单击"确认"。
■ 添加控件
向当前窗体上添加一个ImageList控件,用于装入图形供ToolBar控件使用;一个ToolBar控件用于显示图标;一个StatusBar控件用于显示鼠标位置;一个Label控件用于说明鼠标如何操作。
■ 设置属性
右击ImageList控件,在弹出的属性页对话框中为ImageList控件添加一个图像,并将关键字设为"ShowMousePos"(ImageList控件的使用方法,读者可以参考前面实例);同样,将ToolBar控件和ImageList控件关联。
注意:此时要将"按钮"页中的"样式"栏改为"1-tbrCheck",默认值是"0-tbrDefault"。
Private Sub Form1_MouseMove(ByVal eventSender As System.Object,ByVal eventArgs As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Dim Button As Short = eventArgs.Button / &H100000
Dim Shift As Short = System.Windows.Forms.Control.ModifierKeys / &H10000
Dim X As Single = eventArgs.X
Dim Y As Single = eventArgs.Y
'当鼠标移动时,相应的状态栏也应该改变
'判断工具栏的按钮是否按下,如果是,则显示鼠标位置
If Toolbar1.Buttons(1).Value = MSComctlLib.ValueConstants.tbrPressed Then
StatusBar1.Panels(1).Text = "当前鼠标位置:" & X & "," & Y
'否则,显示空
Else
StatusBar1.Panels(1).Text = ""
End If
End Sub
Private Sub Toolbar1_ButtonClick(ByVal eventSender As System.Object,ByVal eventArgs As AxMSComctlLib.IToolbarEvents_ButtonClickEvent) Handles Toolbar1.ButtonClick
'当单击工具栏时,立刻改变状态栏的信息;要不会出现单击按钮后不发生任何改变
Select Case eventArgs.Button.Key
Case "ShowMousePos"
If Toolbar1.Buttons(1).Value = MSComctlLib.ValueConstants.tbrPressed Then
StatusBar1.Panels(1).Text = "当前鼠标位置:0,0"
Else
StatusBar1.Panels(1).Text = ""
End If
Case Else
End Select
End Sub
■ 运行程序
单击菜单"调试|启动"或单击 图标运行程序。
小结
本实例比较简单,但是其中用到的知识点比较多,使用了ImageList,ToolBar,StatusBar等控件,这些控件在以后是经常要使用到的,请读者注意掌握!