Je fais une application Win Forms pour en savoir plus car je n'ai pas beaucoup d'expérience avec elle. Dans mon programme, dans le formulaire principal, j'ai un bouton. En cliquant dessus, vous lancez un autre formulaire. Le code est le suivant:Comment faire une pause d'exécution jusqu'à ce que le nouveau formulaire soit fermé?
private void btn_AddCat_Click(object sender, EventArgs e)
{
this.Invoke(new MethodInvoker(() =>
{
form_NewCat NewCatForm = new form_NewCat();
NewCatForm.Show();
}));
MessageBox.Show("Oops!");
}
Le problème est, quand est lancé la nouvelle forme, je veux l'exécution du code derrière la principale forme pour faire une pause à ce moment-là jusqu'à ce que la nouvelle forme est fermée. Par exemple, dans le code ci-dessus, je ne veux pas 'Oups!' pour être imprimé jusqu'à ce que le nouveau formulaire soit fermé. Comment puis-je y parvenir?
merci. Je vais implémenter votre solution. – xbonez
J'ai changé le gestionnaire d'événements pour exactement ce que vous avez montré. Le nouveau formulaire a un bouton d'annulation. Le gestionnaire d'événements du bouton d'annulation exécute this.Close(). Cependant, lorsque j'appuie sur le bouton d'annulation, le formulaire disparaît et réapparaît à nouveau. Frapper annuler ferme à nouveau le formulaire. Pourquoi est-ce si? Mon nouveau formulaire est affiché deux fois. – xbonez
@xbonez, étrange, êtes-vous sûr de ne pas avoir d'autre code qui montre le formulaire? Comme dans le constructeur? –