1.如果我们想用图片美化我们的程序.

2.有些特定的窗口,在不同的显示器分辨率下,按钮控件会出现缩小或者放大的情况,

这样就会影响程序的美观,如果我们用图片的区域来实现按钮的同样的功能,这样就可以解决不同分辨率的问题.

下面的例子实现了这一功能.

图片是设计是的样子,通过三个Label得到我们需要的位置,将它们放到我们的图片上,盖住图片上与其对应的部分.

图片上部分操作区域的确定和在区域上单击事件的处理_Windows

得到我们设定的图片区域,返回我们规定到的整数

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