Silmon
Messages postés85Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention 7 mai 2007
-
9 juin 2004 à 19:23
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 2006
-
15 juin 2004 à 19:59
SIMON LEBON:
Je cherche a capturer un event d'une form a partir d'une autre. J'ai ce code ci-dessous mais l'evenement n'est pas declenché. Pourquoi?
Dans Form1 j'ai:
'*******************************
'*******************************
Private WithEvents fm As Form2
Private Sub Form_Load()
Set fm = New Form2
Load fm
fm.Hide
End Sub
' Je montre Form2 dans laquelle un bouton
' Declenche l'evenement Test
Private Sub Command1_Click()
Form2.Show
End Sub
' Ici l'evenement que je veux capturer
' (c'est ce qui ne marche pas)
Public Sub fm_Test()
MsgBox "OK"
End Sub
'*******************************
'*******************************
Dans Form2 j'ai:
'*******************************
'*******************************
' Declaration de l'event
Public Event Test()
' Declenchement de l'event...ça ne fait rien!
Private Sub Command1_Click()
RaiseEvent Test
End Sub
'*******************************
'*******************************
Silmon
Messages postés85Date d'inscriptionmardi 6 janvier 2004StatutMembreDernière intervention 7 mai 2007 15 juin 2004 à 12:06
SIMON LEBON:
Je te remercie pour ta réponse CanisLupus
Effectivement ça marche. Mais cela ne me convient pas.
Les instructions 'events' sont utilisées pour ne pas avoir a connaitre la form qui les capturent.
Dans ton code tu mets:
Form1.fm_Test
Mais je ne sais pas le nom de la form qui appelle form2.
Cela peut etre n'importe quelle form.
Form2 doit restée une form 'partagée', independente de tout project (comme par ex une form de recherche)
Mais j'ai decouvert mon erreur. C'etait tout bete.
Dans Form1 j'ai:
'*******************************
'*******************************
Private WithEvents fm As Form2
Private Sub Form_Load()
Set fm = New Form2
' Load fm -> inutil
' fm.Hide -> inutil
End Sub
' Je montre Form2 dans laquelle un bouton
' Declenche l'evenement Test
Private Sub Command1_Click()
' Au lieu de...
'Form2.Show ' <-- L'ERREUR ETAIT ICI
' Il fallait mettre:
fm.show
End Sub
' Ici l'evenement que je veux capturer
' (Maintenant ça marche)
Public Sub fm_Test()
MsgBox "OK"
End Sub
'*******************************
'*******************************
Dans Form2 j'ai:
'*******************************
'*******************************
' Declaration de l'event
Public Event Test()
' Declenchement de l'event
Private Sub Command1_Click()
RaiseEvent Test
End Sub
'*******************************
'*******************************