Program,Life,Society.....

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

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

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

 

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

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





得到我们设定的图片区域,返回我们规定到的整数
    
Private Function GetMouseLocation(ByVal X As IntegerByVal Y As IntegerAs 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(ByVal sender As ObjectByVal 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(ByVal sender As ObjectByVal 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



posted on 2004-10-15 17:47  vuejs3  阅读(1483)  评论(0)    收藏  举报