|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 89 ![]() |
Bonjour à tous,
Je suis débutant en Programmation VB et je n'arrive pas à comprendre la mise en place des évements. Dans l'exemple suivant, l'évement TextChange est bien appelé dans mon application aussi bien coté changement de Proprieté que lors de la Procédure Calcul. Code :
Code :
Merci à vous tous. |
||||
|
|
00
|
|
|
#2 |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 728 ![]() |
Le fait que la procédure Calcul soit privée ne change rien pour le déclenchement de l'évènement... A quel endroit appelles-tu cette procédure ?
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
10
|
|
|
#3 | |||
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 89 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#4 |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 728 ![]() |
Bah tu appelles la méthode Calcul depuis une autre classe que celle où elle est déclarée... si tu la rends privée, tu ne peux plus faire ça ! Ça ne te donne pas une erreur de compilation ?
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
10
|
|
|
#5 | ||||
|
Membre expérimenté
![]() Inscription : octobre 2006 Messages : 404 ![]() |
Bonjour,
Dans la seconde class1 : Code :
VB.NET ne déclenche pas les Events collés dans le code de la Sub New(). L'Objet n'étant créé qu'à la fin de New(), il ne peut se voir abonné à des events avant sa création. Je me fie à TomLev. Comme le dit encore, TomLev ci dessus , dans une Private Sub, Event ne peut être accessible pour l'Objet créé. Donc si Calcul doit rester privé, on peut créer une sub publique dédiée aux Events, dans le genre : Code :
|
||||
|
|
00
|
|
|
#6 | |||
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 728 ![]() |
Citation:
Code :
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|||
|
10
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 89 ![]() |
Tout d'abord je vous remercie tous pour votre aide.
D'après ce que j'ai compris, on ne peut pas avoir d'événements dans une Sub Private si je crée un objet dans une autre Class mais dans ce cas là je ne vois pas le but des événements. Enfin avec le temps et la pratique je comprendrai surement. Merci beaucoup |
|
|
00
|
|
|
#8 | |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 728 ![]() |
Citation:
Tu sembles pense que les évènements doivent être déclenchés depuis l'extérieur des objets qui les publient ; par exemple tu cherches à déclencher l'évènement TextChange de Class1 depuis la classe Form_GestionCalendrier. Là effectivement ça ne sert à rien : pourquoi réagir à un évènement si tu sais déjà quand il va se produire ? L'intérêt des évènements, c'est d'être notifié quand il se passe quelque chose que tu ne peux pas prévoir autrement... Donc typiquement, le code qui gère l'évènement (i.e. réagit à l'évènement) n'est pas celui qui le déclenche.
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
|
10
|
|
|
#9 | |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 89 ![]() |
Citation:
Il est devient donc plus logique de les utiliser pour gérer les erreurs. |
|
|
|
00
|
|
|
#10 |
![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 16 728 ![]() |
Pas forcément des erreurs, mais des évènements (au sens le plus général du terme) dont tu ne peux pas savoir à quel moment ils peuvent se produire.
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
10
|
|
|
#11 |
|
Membre à l'essai
![]() Inscription : mars 2008 Messages : 89 ![]() |
Merci pour votre aide.
Je commence à comprendre l'utilisation des événements. Ce n'est pas encore tout à fait clair mais avec de la pratique je sais que j'arriverai à utiliser les événements dans leurs bon sens. Encore merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com