问题
I have a normal rollover image as so...
'MainMenuTab
Private Sub MainMenuTabBtn_Click(sender As Object, e As EventArgs) Handles MainMenuTabBtn.Click
TabControl1.SelectedTab = TabPage1
End Sub
'MainMenuTab Down
Private Sub MainMenuTabBtn_MouseEnter(sender As Object, e As EventArgs) Handles MainMenuTabBtn.MouseEnter
MainMenuTabBtn.Image = My.Resources.MainMenuTab_Down
End Sub
'MainMenuTab Up
Private Sub MainMenuTabBtn_MouseLeave(sender As Object, e As EventArgs) Handles MainMenuTabBtn.MouseLeave
MainMenuTabBtn.Image = My.Resources.MainMenuTab_Norm
End Sub
So I have my Mouse 'Enter' and 'Leave', but what I have been trying to do is make the image change when pressed to "MainMenuTab_Selected.jpg" but then it changes the image back to "MainMenuTab_Norm.png" because the mouse is leaving the Picture Box.
So Is there a way to use 'If' statements, because that is what I have been looking at. Thanks
回答1:
Set a variable when you click the button, and then check the value of it on the mouse events:
Dim buttonClicked as Boolean = False
Private Sub MainMenuTabBtn_Click(sender As Object, e As EventArgs) Handles MainMenuTabBtn.Click
MainMenuTabBtn.Image = My.Resources.MainMenuTab_Selected
buttonClicked = True
TabControl1.SelectedTab = TabPage1
End Sub
'MainMenuTab Down
Private Sub MainMenuTabBtn_MouseEnter(sender As Object, e As EventArgs) Handles MainMenuTabBtn.MouseEnter
If Not buttonClicked Then
MainMenuTabBtn.Image = My.Resources.MainMenuTab_Down
End If
End Sub
'MainMenuTab Up
Private Sub MainMenuTabBtn_MouseLeave(sender As Object, e As EventArgs) Handles MainMenuTabBtn.MouseLeave
If Not buttonClicked Then
MainMenuTabBtn.Image = My.Resources.MainMenuTab_Norm
End If
End Sub
来源:https://stackoverflow.com/questions/25406104/how-to-make-a-rollover-image-but-it-stays-as-that-image-when-pressed-in-vb-net