Contrôle utilisateur

Le
Gilbert Tordeur
Contexte : application Windows Form en VB2008

Bonjour.

J'ai écrit un contrôle utilisateur qui fonctionne correctement. Je voudrais
qu'il génère un événement lorsque sa valeur a changé (comme TextChanged pour
une TextBox par exemple). Que dois-je écrire pour cela ?

Merci d'avance,
Gilbert
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #17819641
Rien de très compliqué :)

Tu déclares ton event dans ton control
Public Event MonEvent As EventHandler

Ce qui te donnera un event comportant un sender et un eventargs, comme
la plupart des events.

Quand tu veux le déclenché tu utilises la ligne suivante
RaiseEvent MonEvent(me,EventArgs.Empty)

Tu peux bien entendu passer autre chose qu'un eventargs empty, mais si
tu n'en a pas besoin, c'est la l'utilisation la plus banale.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Alex C.
Le #17820191
On 12 nov, 13:46, Jérémy Jeanson
Rien de très compliqué :)

Tu déclares ton event dans ton control
Public Event MonEvent As EventHandler

Ce qui te donnera un event comportant un sender et un eventargs, comme
la plupart des events.

Quand tu veux le déclenché tu utilises la ligne suivante
RaiseEvent MonEvent(me,EventArgs.Empty)

Tu peux bien entendu passer autre chose qu'un eventargs empty, mais si
tu n'en a pas besoin, c'est la l'utilisation la plus banale.
--
Jérémy JEANSON
MCPhttp://jeremy.blogdns.net



Ou bien on peut déclarer de cette manière un evènement totalement
personnalisé :

Public Event M_Event(ByVal MyParam As String)
Jérémy Jeanson
Le #17820351
Avec la petite note, qu'il est conseillé de déclaré un delegate pour ton
eventhadler perso afin d'optimiser les choses et ne pas permettre au
compilateur de créé plusieurs eventhandler différents pour chaque
eventhandler aillant la même signature :)

VB est déjà considéré comme aillant du mal alors ne donnons pas plus de
poids à ses détracteurs ;)
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Gilbert Tordeur
Le #17821801
Merci,
Gilbert

"Jérémy Jeanson"
Rien de très compliqué :)

Tu déclares ton event dans ton control
Public Event MonEvent As EventHandler

Ce qui te donnera un event comportant un sender et un eventargs, comme la
plupart des events.

Quand tu veux le déclenché tu utilises la ligne suivante
RaiseEvent MonEvent(me,EventArgs.Empty)

Tu peux bien entendu passer autre chose qu'un eventargs empty, mais si tu
n'en a pas besoin, c'est la l'utilisation la plus banale.
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net


Gilbert Tordeur
Le #17822861
Un delegate je veux bien, c'est un mot que j'ai déjà entendu, mais mes
connaissances ne vont pas plus loin. Je dois faire quoi ?

Gilbert

"Jérémy Jeanson"
Avec la petite note, qu'il est conseillé de déclaré un delegate pour ton
eventhadler perso afin d'optimiser les choses et ne pas permettre au
compilateur de créé plusieurs eventhandler différents pour chaque
eventhandler aillant la même signature :)

VB est déjà considéré comme aillant du mal alors ne donnons pas plus de
poids à ses détracteurs ;)
--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net


Jérémy Jeanson
Le #17828461
C'est très simple, il s'agit de la déclaration du propotipe de ta
méthode, un peu comme un fichier .h en c.

Exemple:

' Le délégate
Public Delegate Sub MonEventDelegate(ByVal e As String)

' L'event qui utilise le delegate
Public Event MonEvent As MonEventDelegate


Et le raiseevent
RaiseEvent MonEvent("Test")

--
Jérémy JEANSON
MCP
http://jeremy.blogdns.net
Publicité
Poster une réponse
Anonyme