Création de composant, Modification d'évènements MouseEnter & MouseLeave

amxeph Messages postés 8 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 14 février 2009 - 27 oct. 2008 à 19:57
amxeph Messages postés 8 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 14 février 2009 - 28 oct. 2008 à 11:57
Bonjour,

J'ai un petit problème. J'utilise des boutons avec une image de fond qui se change lorsque la souris passe dessus.
Je dois donc écrire un évenement MouseEnter Et Mouseleave pour chaque bouton.

Or j'ai quelques boutons à implanter donc ça fait beaucoup de code pour pas grand chose.
Pour ne pas surcharger le code de mon programme avec ce problème, j'aimerais créer un controle que j'appelerai par ex "BoutonChangeant" que je pourrai utiliser avec mon programme
et ainsi éviter de devoir retaper à chaque fois le code des MouseEnter et mousleave.

J'ai choisis de faire hériter BoutonChangeant depuis la classe Control (je n'utilise pas la classe button pour ne pas avoir trop de propriétés qui me servent à rien)

En fait, tout est déjà écrit, j'ai bien modifié la méthode onPaint pour que BoutonChangeant s'affiche pile comme je le veux.
Maintenant, il me manque la partie la plus intéressante. Faire changer l'image lorsque je passe la souris dessus et lorsqu'elle s'en va.

J'aimerais donc dès l'écriture du contrôle BoutonChangeant pourvoir implémenter le code dans le MouseEnter et Le MouseLeave pour ne pas devoir le retaper
à chaque fois dans l'application qui utilisera ce controle.

je ne sais pas comment faire, Dois-je modifier les évènement par défaut MouseEnter et MouseLeave. Ou dois je procéder d'une autre façon.

Pouvez vous éclairer ma lanterne???

Cordialement,

Stéphane

________________________
Stéphane

2 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 21
27 oct. 2008 à 20:10
Bonjour,
Je rebondit sur ton 1ier problème rencontré lié au fait d'écrire le code de chaque événement MouseEnter de tes boutons.
Même si tu as laissé tomber cette voie la je te donne l'info pour regrouper les mêmes événements en les abonnant dans le gestionnaire d'événements sur la même proc.

Prenons l'exemple avec 3 boutons et leurs événements MouseEnter:
---------------------------------------------------------------------
    PrivateSub Button1_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) _

    Handles Button1.MouseEnter, Button2.MouseEnter, Button3.MouseEnter

        Dim ctlSender As Button = CType(sender, Button)
        SelectCase ctlSender.Text
            Case Button1.Text
                'Action sur MouseEnter du bouton 1
            Case Button2.Text
                'Action sur MouseEnter du bouton 2
            Case Button3.Text
                'Action sur MouseEnter du bouton 3
        EndSelect
    EndSub
---------------------------------------------------------------------

++
0
amxeph Messages postés 8 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 14 février 2009
28 oct. 2008 à 11:57
Merci c'est sympa, j'avais complétement zappé cette solution là. Mais là comme je viens de me lancer sur la création de composants j'aimerais approfondir le sujet donc si tu as encore unei dée
Sinon merci bcpp je ferai ça si je ne trouve pas
________________________
Stéphane
0
Rejoignez-nous