2014-02-25 17 views

답변

0

이 내가 VB로 프로그래밍 할 때 내가했던 방법입니다. 어쨌든 과잉 공격이 될 것입니다. 버튼에는 3 가지 상태가 있습니다 Normal, Enter, Down. 이러한 상태에 대해 3 개의 이미지를 가져옵니다 (PNG 형식 일 필요는 없습니다). 리소스에 붙여 넣습니다. 그들이 button, buttonEnter and buttonDown이라고 지명한다고합시다. 레이블 컨트롤이 아닌 단추을 사용하십시오.

Private Sub Label1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown 
    Label1.Image = My.Resources.buttonDown 
End Sub 

Private Sub Label1_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.MouseEnter 
    Label1.Image = My.Resources.buttonEnter 
End Sub 

Private Sub Label1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.MouseLeave 
    Label1.Image = My.Resources.button 
End Sub 

Private Sub Label1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseUp 
    Label1.Image = My.Resources.buttonEnter 
End Sub 

Private Sub Label1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove 
    Static i As Integer = 1 
    Static j As Integer = 1 

    If e.Button = Windows.Forms.MouseButtons.Left Then 
     If e.X < 0 Or e.X > Label1.Width Or e.Y < 0 Or e.Y > Label1.Height Then 
      If i Then 
       Label1.Image = My.Resources.button 
       i = 0 
       j = 1 
      End If 
     Else 
      If j Then 
       Label1.Image = My.Resources.buttonDown 
       j = 0 
       i = 1 
      End If 
     End If 
    End If 
End Sub 

발터는

+0

코드를 사용해 보았습니다. http://www.mediafire.com/view/nzn4yyr5muec8pl/scrn-530ce715.png – Jyrka98

+0

@ jyrka2이 이미지가 무엇입니까? 3 개의 이미지를 찍었습니까, 파이어 폭스 버튼이 정상적으로 작동합니까? –

+0

예, 방금 작은 이미지를 찍은 다음 페인트로 2 개의 이미지에 화살표를 넣어 테스트했습니다. – Jyrka98

관련 문제