Pariterre
Messages postés15Date d'inscriptionmercredi 6 août 2008StatutMembreDernière intervention 5 septembre 2010
-
5 sept. 2010 à 18:08
Pariterre
Messages postés15Date d'inscriptionmercredi 6 août 2008StatutMembreDernière intervention 5 septembre 2010
-
5 sept. 2010 à 20:38
Bonjour à tous,
J'ai écrit un programme en VBA alors que je n'avais pas accès à Visual Basic Express. Depuis, je me suis procurer le logiciel et je suis à transporter mon codage.
J'ai un soucis qui vient simplement du fait que je me suis habitué à la façon de faire sous VBA et je n'arrive donc pas à trouver de solution.
En fait, j'ai créé une sorte de cascade d'événement : un form s'ouvre, une fois que l'on a fini le traitement, on clique sur suivant, puis l'autre s'ouvre ensuite et ainsi de suite.
À l'origine, j'avais codé en mettant dans un module quelque chose du genre :
form1.show
form2.show
...
Ainsi, dès que l'un était terminé l'autre enchainait. Par contre, maintenant :
premier problème, il faut absolument ouvrir le programme par un form. J'ai donc écrit ce que j'avais dans mon sub Main() à l'intérieur d'un form d'ouverture (qui je souhaitais agisse comme mon module).
Je trouve que c'est une solution vraiment partielle... (j'ai tout mis dans Form_load...)
Ensuite, lors que j'écris mes
form1.show
form2.show
contrairement à VBA, le logiciel lit tout et arrive à la fin du Form_load sans s'arrêter sur les différents form (qu'il affiche tout de même)
Mes questions sont les suivantes : est-ce possible de ne pas être obliger de démarrer le programme dans une form?
Ensuite, comment attendre que j'ai terminé avec un form avant de continuer avec l'autre?
J'ai essayé quelque chose du style
form1.show
while not continuer
doevents
end while,
form2.show
solution qui était proposée en VB6, mais il semblerait que DoEvents n'existe plus dans la version .NET
Voilà, je vous remercie et vous souhaite une bonne journée à tous :)
Pariterre
Co-fondateur du Mouvement Patriotique Québécois (MPQ)
Le Québec, c'est maintenant!
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 5 sept. 2010 à 18:34
TU peux tout à fait faire démarrer une application sur un sub main dans un module au lieu d'ouvrir sur une form.
Il faut que tu configure l'objet de démarrage dans le propriétés du projet, onglet Application. (Il faut décocher "Activer l'infrastructure de l'application" pour pouvoir choisir autre chose qu'une form en objet de démarrage)
Quant aux forms, tu peux les ouvrir en Modal en utilisant ShowDialog. Dans ce cas l'exécution sera suspendue jusqu'à la fermeture de la form
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i