OVH Cloud OVH Cloud

Fonctions substiutée dans une classe dérivée d'un controle en .net

1 réponse
Avatar
nospam.geraud
Bonjour.

Je suis en train de créer un contrôle ActiveX dérivé d'un PictureBox, pour afficher des cartes.

Je veux mettre à jour des variables de classe lorsque je déplace la souris à l'intérieur du contrôle. J'ai donc substitué ma propre fonction OnMouseMove de la manière suivante:

Public Shadows Event MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

Protected Overrides Sub OnMouseMove(ByVal e As System.Windows.Forms.MouseEventArgs)

'mise à jour de mes variables

RaiseEvent MouseMove(Me, e)
End Sub

Cela fonctionne, mais j'ai peur de rater des trucs qui sont fait par la fonction de la classe de base. Si je met un MyClass.OnMouseMove(e), la sub boucle sur elle-même. Mes questions sont donc:
- Où trouver le code de la classe de base, pour vérifier!
- Comment appeller la fonction de la classe de base???

J'ai plein d'autres questions aussi interessante, si quelqu'un connait bien ce problème je suis preneur... MERCI

Géraud Benazet

1 réponse

Avatar
Géraud Benazet
Petit complément, issu de la doc du .net framework:

"Remarques à l'attention des héritiers Lors de la substitution de OnMouseMove dans une classe dérivée, veillez à appeler la méthode OnMouseMove de la classe de base de manière à ce que les délégués inscrits reçoivent l'événement."

Oui, j'avais intuité, mais COMMENT JE FAIS!!!

lol