Deux événement sur une picturebox

[Résolu]
Signaler
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Voila j'ai enfin réussit à fair un zoom sur une pictureBox avec la molette de la souris, mais le problème c'est que la molette est active sur toute la WindowsForm alors que moi j'aimerais qu'elle ne le soit que quand elle passe sur ma picture box
Voila le code que j'ai fait mais sa marche pas 

 Private Sub PictureBOx1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseWheel
        If e.Delta > 0 Then
            Call Button1_Click(Button1, New System.EventArgs)
        Else
            Call Button2_Click(Button1, New System.EventArgs)
        End If
        Me.Refresh()
    End Sub

Merci
Médéric

8 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

je connais pas le VB.net ou VB2005 mais j'utiliserais bine un evenement mouse move et les coordonées et dimensions de ta picturebox pour detecter le moment ou le pointer est dessus. non ?

A+
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
e.X et e.Y
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
e.X et e.Y te donneront ici les coordonnées de la souris... le test concistant à savoir si le curseur survolle la picturebox ou non devrait être aisé, du coup
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
il n'est pas bon d'appeler toi même des procédures d'evènements... les parametres recus sont faux (New System.EventArgs)

il vaux mieux mettre une procédure 'Zoom' qui sera appelée depuis le Button1_Click et Button2_Click.
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
Désolé Renfield mais je comprend pas ce que tu veux dire par
e.X et e.Y, si tu pouvait m'en dire plus sa serait sympa.
Merci
Si quelqu'un d'autre à une solution je suis preneur car malgré mais recherche je trouve pas se qu'il me faut.
Je rappel que je suis débutant (je programme pour me faciliter la tâche par rapport à la création d'interface homme machine avec power point) et que je viens de commencer la programmation DotNet.

Merci

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
Voila le code que j'ai essayé mais il ne fonctionne tjs pas
Je ne comprend pas ou peut se trouver mon erreur.
Please HELP

 Private Sub PictureBox1_MouseWheel(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
        If 15 < e.X < 1010 And 13 < e.Y < 540 Then
            If e.Delta > 0 Then
                Call Button1_Click(Button1, New System.EventArgs)
            Else
                Call Button2_Click(Button1, New System.EventArgs)
            End If
            Me.Refresh()
        End If
    End Sub

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
ce genre d'appel
Call Button1_Click(Button1, New System.EventArgs)
est a proscrire...
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
Je comprend pas pourquoi ce genre d'appel est à proscrire, j'aimerais en savoir plus STP

Médéric
Ergonome Logiel
(VB.NET-Débutant)