1.如果我们想用图片美化我们的程序.
2.有些特定的窗口,在不同的显示器分辨率下,按钮控件会出现缩小或者放大的情况,
这样就会影响程序的美观,如果我们用图片的区域来实现按钮的同样的功能,这样就可以解决不同分辨率的问题.
下面的例子实现了这一功能.
图片是设计是的样子,通过三个Label得到我们需要的位置,将它们放到我们的图片上,盖住图片上与其对应的部分.
得到我们设定的图片区域,返回我们规定到的整数
Private Function GetMouseLocation()Function GetMouseLocation(ByVal X As Integer, ByVal Y As Integer) As Integer
'用我们设计好的label来确定区域,当然你也可以自己写区域
Dim rect1 As New System.Drawing.Rectangle(lblSetDomain.Location, lblSetDomain.Size)
Dim rect2 As New System.Drawing.Rectangle(lblOK.Location, lblOK.Size)
Dim rect3 As New System.Drawing.Rectangle(lblCancel.Location, lblCancel.Size) If rect1.Contains(X, Y) Then
Return 1
ElseIf rect2.Contains(X, Y) Then
Return 2
ElseIf rect3.Contains(X, Y) Then
Return 3
Else
Return 0
End If
End Function '当鼠标移动到我们设定的图片区域时
Private Sub pbxLogin_MouseMove()Sub pbxLogin_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pbxLogin.MouseMove
Select Case GetMouseLocation(e.X, e.Y) '得到特定的图片区域
Case 0
'改变鼠标的形状
Me.Cursor = Cursors.Default
Case Else
Me.Cursor = Cursors.Hand
End Select
End Sub '在图片选择区域鼠标松开时
Private Sub pbxLogin_MouseUp()Sub pbxLogin_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles pbxLogin.MouseUp
Select Case GetMouseLocation(e.X, e.Y)
'添加你的代码在这里
Case 1
'添加你的代码
Case 2
'添加你的代码
Case 3
'添加你的代码
End Select
End Sub