Probleme avec la fonction close

Signaler
Messages postés
2
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
20 avril 2011
-
Messages postés
43
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
22 avril 2013
-
salut tout le monde,



je suis débutant en c# ,j ai crée deux form ,la 1ere pour la connexion et la deuxième pour le programme principal ,
j ai essai de fermer la form connexion avec this.close() et c'est pas marche ,il y a t il une autre solution.


merci d avance

4 réponses

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

à quel endroit fais-tu ton appel à this.close() ?
Peux-tu nous montrer ton code ?
Avec pour seule info "ça marche pas", c'est difficile de savoir d'où vient le souci ;)
Messages postés
2
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
20 avril 2011

voila le code
      public void verification(string m1, string m2,int id) {

            if (m1.Equals(m2)==true)            {
                Form1 x = new Form1(id);
                x.ShowDialog();
                this.close();
            }
            else
            {
                MessageBox.Show("eurreur");
               
            }
        }

et merci :)
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Re,

alors c'est assez simple : comme tu charges 'x' en modale (cf. ShowDialog()), la suite des instructions de ta fonction (dont le this.Close() n'est pas interprétée tant que 'x' ne sera pas fermée. Ce qui est d'ailleurs un fonctionnement tout à fait cohérent.
Normalement, lorsque tu fermes 'x' ta forme appelante doit se fermer également, ça se passe bien comac ?
Messages postés
43
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
22 avril 2013
3
En faite, lorsque tu ferme ton form principale, ton programme s'arrête, personnelement, lorque j'appelle un autre form, je cache mon formulaire présent :

Form Prog = new formProg();
Prog.Show();
this.Hide();


Mais lorsque tu fermera l'autre form, ton form principale restera caché, donc je créer un evenement:

Prog.Closed+= new EventHandler(Prog_Closed);

...


public void Prog_Closed(object sender, EventArgs e) 
{
    this.Show();        
}