Attendre un événement??

cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 10 avril 2005 à 13:46
djechiant Messages postés 12 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 18 avril 2005 - 12 avril 2005 à 10:13
Salut...

J'utilise deux frames avec plusieurs optionbutton.

Lorsque je clique sur un bouton du premier frame, ca fai apparaitre le second frame avec, lui aussi, plusieurs optionbutton. Je veux qu'une fois que je clique sur un optionbutton du deuxième frame une fentre s'ouvre.

Le bug c'est que le deuxième frame apparait mais me donne pas la possibilité de cliquer sur un optbutton. En d'autres mots lorsque je fais pas à pas détaillé, il ouvre le deuxième frame et continue dans mon If. Dans mon If, je dit si optbutton1.value = true then call cmdIndex_click etc..

Comment je fais pour qu'après avoir ouvert mon deuxième frame je lui dit d'attendre un événement pour continuer le code ?????

Merci d'avance

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
10 avril 2005 à 19:11
Salut
Pas sûr d'avoir tout compris, mais essaye :
- de donner du temps au système en ajoutant un DoEvents après une action graphique comme le fait d'afficher une frame
- Attendre : Suffit de faire une boucle d'attente :
Do While Not (optButton1.Valeur = True)
DoEvents
Loop
dans la parenthèse, tu mets l'évènement que tu attends, et tu boucleras ici jusqu'à ce que la condition soit vraie.
Maintenant, si tu veux faire une action, c'est plutôt dans cmdIndex_Click qu'il faudrait mettre le code ...

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

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
djechiant Messages postés 12 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 18 avril 2005
12 avril 2005 à 10:13
Apparement tu as programmer le premier bouton (premier frame) pour afficher le second frame. Si j'ai bien compris ce que tu demandes, il suffirait de programmer le second bouton (sub commande_bouton) pour qu'il t ouvre la fenetre.

Ca donnerai un programme dans ce style :
Pour info Command1 est le bouton du premier frame et Command2 se trouve ds le second
'''''''''''''''''''''''''''''''''''''''''''''
Private Sub Command1_Click()
Frame2.Visible = True
End Sub


Private Sub Command2_Click()
'sur appui du bouton Command2, le Form1 est caché
Form1.Hide
'et on affiche la seconde fenetre
Form2.Show
End Sub<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /><v:shapetype id=_x0000_t75 o:preferrelative="t" filled="f" stroked="f" coordsize="21600,21600" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe"> ''''''''''''''''''''''''''''''''''''''''''
<v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path gradientshapeok="t" o:extrusionok="f" o:connecttype="rect"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype>J'espere que cela va t aider.
Djechiant vous salut
0
Rejoignez-nous