[VB]Comment attendre un évènement avant de continuer l'exécution ?

Résolu
neokizashi Messages postés 6 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 17 juin 2015 - 4 mai 2011 à 13:12
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 4 mai 2011 à 14:01
Salut tout le monde !

J'ai un petit soucis dans un programme que je dois concevoir pour mes cours, c'est un jeu bien connu
(que je ne citerai pas, pas de pub ) qu'il faut qu'on réalise.
Pour ma part, la création du jeu n'est pas un soucis, mais j'aimerai éviter les bugs que pourraient causer les joueurs.

Par exemple, au lancement du jeu, j'ai le plateau de jeu qui apparait et une autre fenêtre qui apparait en même temps
dans laquelle on demande le nom et image des utilisateurs.
Cependant on peut commencer à jouer sans avoir saisi les noms d'utilisateurs dans la deuxième fenêtre

Mon début de programme se déroule comme ceci :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Demande le nombre de joueur, leur nom et image
InitialisationJoueur.Show()
End Sub

J'aimerai donc pouvoir attendre la fin de initialisationJoueur (qui comprend un bouton "Commencer la partie")
pour afficher le plateau mais je ne point comment faire ...


Certains me diront peut-être que je pourrai plutôt faire appel à Form1 depuis InitialisationJoueur mais j'ai le même soucis dans une autre partie du code; j'ai mon code principal qui fait appel à un autre formulaire et j'aimerai attendre la fin de son exécution pour continuer (et c'est nécessaire, c'est pas juste un caprice ^^ )


Donc voilà, tout ce blabla pour vous demander comment je pourrai attendre un évènement spécial ?
Par exemple, attendre qu'on appuie sur mon merveilleux bouton "Commencer la partie"


Pour information, je code avec Visual Basic 2010 Express
Merci d'avoir lu tout ça et pis j'espère que vous pourrez m'aider

3 réponses

cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
4 mai 2011 à 13:26
Salut,

je suppose que InitialisationJoueur est le nom d'une instance de classe dérivée de Form.
Le comportement que tu cherches s'appelle une boîte de dialogue modale : l'utilisateur n'a plus accès aux autres formulaires en arrière plan tant que celui-ci n'est pas fermé. C'est très simple à mettre en place : il suffit de remplacer InitialisationJoueur.Show par InitialisationJoueur.ShowDialog

Il faudra par contre bien vérifier les info saisies dans cette fenêtre, que l'utilisateur puisse pas "commencer la partie" avec le champ "nom" vide.
3
neokizashi Messages postés 6 Date d'inscription mercredi 30 janvier 2008 Statut Membre Dernière intervention 17 juin 2015
4 mai 2011 à 13:35
Aaah ça marche
Je pensais pas que ça serait aussi simple xD

Et sinon, pour le traitement des informations, j'avais déjà mis des noms par défaut si l'utilisateur ne mettait rien
donc pas de soucis à ce niveau là

Merci jopop pour ton aide (rapide et efficace en plus !)
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
4 mai 2011 à 14:01
De rien pour l'aide ;)

Alors attention aux Dumby Users et aux chercheurs de poux : ils pourraient très bien supprimer le contenu de la zone de saisie avant de valider ^^
0
Rejoignez-nous