Générer un event personnalisé [Résolu]

Signaler
Messages postés
35
Date d'inscription
samedi 16 août 2003
Statut
Membre
Dernière intervention
23 février 2009
-
Messages postés
35
Date d'inscription
samedi 16 août 2003
Statut
Membre
Dernière intervention
23 février 2009
-
Hello everybody

J'ai une petite question concernant les événements :

Comment puis-je, dans un form (ou une classe), générer un event personnalisé que je pourrai écouter en dehors de mon form (ou de ma classe) ? Dans mon cas, j'ai 2 boutons cancel et apply dans un form et j'aimerais pouvoir générer un event 'canceled' quand on clique sur cancel et un event 'applied' quand on clique sur apply. Et dans le form parent, j'écoute ces 2 events pour savoir que si j'entends 'canceled', je ne dois pas rafraîchir le contenu (et que je dois le faire si je reçois 'applied'). Car pour l'instant, j'écoute l'event 'closed' et je rafraîchis mon contenu dans les 2 cas.

Merci d'avance.

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
Salut
Pour générer un event :
Dans la classe :
Dans la partie déclaration -->  Public Event Coucou (ByVal TexteAenvoyer As String, ByVal Etat As Boolean)
Quand tu veux envoyer une info --> RaiseEvent Coucou ("Bonjour", True)

Dans ta forme, au moment où tu déclares ta classe --> Private WithEvent MaClasse As clsLeNomDeLaClasse
Avec ça, apparaitra la Sub nommée MaClasse_Coucou, telle que tu l'as définie dans ta classe :
Dans ta page de code, dans la ComboBox qui liste tous les objets de ta forme, tu auras en plus "MaClasse" : clique dessus
Dans le ComboBox de droite, tu auras tous les Events que tu auras déclaré dans ta classe.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on
Messages postés
229
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 juin 2007

Hum,

L'idée de l'event est bonne mais peut être un peu compliqué. D'aprés ton problème un booléen global ne pourraitt-il pas le résoudre :
False si Cancel
True si ok.

et dans ton form mére, quand tu détecte la fermeture tu peut faire un If sur le booléen. *

Simple proposition.

KC62

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
Messages postés
35
Date d'inscription
samedi 16 août 2003
Statut
Membre
Dernière intervention
23 février 2009

Yop KC62 (T'es un cousin de R2D2 ou C3PO ? )

Merci pour ta réponse, c'est en effet une solution à mon problème. :-) Je vais faire comme ça pour commencer.

Mais j'aimerais quand même une petite explication avec un exemple simple (en C# si possible, rooh le difficile marmot en plus) sur la manière de générer un event personnalisé, ça me botte bien. Donc si quelqu'un est motivé... Je le remercie d'avance !

Tchuss
Messages postés
229
Date d'inscription
mardi 3 juin 2003
Statut
Membre
Dernière intervention
20 juin 2007

Eh oui en C# c'est possible et même que c'est pas compliqué.

En aparté je suis juste KC62 pas de liens de parenté autre. ;-)

On a pas toutes les solutions de tous les probleme mais chaque probleme à ses solutions ...
Messages postés
35
Date d'inscription
samedi 16 août 2003
Statut
Membre
Dernière intervention
23 février 2009

Hello jack !

Et merci pour ta réponse, je vais essayer ça !

Merci beaucoup à tous les 2 !

Tchuss