2010-04-19 10 views
0

Salut j'ai une demande spéciale ... Je suis en train de faire un bouton normal et minimiser la sortie ... Je veux trois images différentes pour le bouton exemple avec sortie:PictureBox1_Click et image différente

1) Stable ouvert fenêtre a exit_1.png

2) Lorsque vous mose-dessus l'afficher exit_2.png

3) Lorsque vous souris laissez afficher à nouveau la norme exit_1.png

4) Lorsque vous appuyez (click) il affiche exit_3.png => cette situation je ne sais pas comment s olve dans Visual Basic - Merci de votre aide.

Mon code:

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click 
    Me.WindowState = FormWindowState.Minimized 
    PictureBox1.Image = My.Resources.exit_3 
End Sub 

Public Sub PictureBox1_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover 
    PictureBox1.Image = My.Resources.exit_2 
End Sub 

Public Sub PictureBox1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave 
    PictureBox1.Image = My.Resources.exit_1 
End Sub 

Photo exit_3 n'affiche pas avec ce code après avoir cliqué sur lui. Les images exit_2 et exit_1 fonctionnent correctement.

Répondre

0

changer le cliquez gestionnaire pour mousedown et mouseup pour les images swapping

Private Sub PictureBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseDown 
    PictureBox1.Image = My.Resources.exit_3 
End Sub 

Private Sub PictureBox1_MouseUp(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseUp 
    PictureBox1.Image = My.Resources.exit_2 
End Sub 

et le gestionnaire cliquez pour le code

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click 
    Me.WindowState = FormWindowState.Minimized 
End Sub 
0

MouseLeave est tiré après la Cliquez sur l'événement, lorsque le formulaire est réduit. L'image est définie sur exit_3 dans le gestionnaire de clic, puis immédiatement sur exit_1 dans le gestionnaire de sortie. Voici une façon de le réparer:

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click 
    Me.WindowState = FormWindowState.Minimized 
End Sub 

Public Sub PictureBox1_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseHover 
    PictureBox1.Image = My.Resources.exit_2 
End Sub 

Public Sub PictureBox1_MouseLeave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave 
    if Me.WindowState = FormWindowState.Minimized then 
     PictureBox1.Image = My.Resources.exit_1 
    else 
     PictureBox1.Image = My.Resources.exit_3 
    end if 
End Sub 
Questions connexes