Menu.Hide(); [Résolu]

Signaler
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
19 septembre 2009
-
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
-
bonjours ....
j'ai 2 form la 1ère authentification des utilisateur et la 2ème c'est pour le menu
après avoir saisir mot de passe je clique sur la bouton Valider et si valide je veux appelé la form menu
frm_menu menu = new frm_menu();
menu.show()

la 2ème forme s'affiche mais la 1ère form reste affiche qu'elle est l'instruction pour fermer la 1ère form ?
j'ai essayé avec menu.Hide(); mais lorsque je ferme l'interface menu ne se ferme pas et reste en mode Debug comment faire pour faire fermer la interface authentification et lorsque je ferme l'interface menu le programme s'arrête????

merciiiiiiiiiiiiiiii

/*
j=2;
for (i=0; i <j ; i++)
{
Console.WriteLine("Merciiiiiii");
j=i+1;
}

*/

9 réponses

Messages postés
268
Date d'inscription
samedi 22 février 2003
Statut
Membre
Dernière intervention
24 avril 2013
3
ceci doit fonctionner

private void btn_Se_Connecter_Click(object sender, EventArgs e)
{
      frm_02_menu_principal menu = new frm_02_menu_principal();

      this.Close();
      menu.ShowDialog();
}

ou sinon

private void btn_Se_Connecter_Click(object sender, EventArgs e)

{

      frm_02_menu_principal menu = new frm_02_menu_principal();



      this.hide();

      menu.ShowDialog();



      this.Close();

}
Messages postés
433
Date d'inscription
samedi 26 avril 2003
Statut
Membre
Dernière intervention
4 décembre 2009
1
Bonjour,

Essais "this.Close();" juste avant d'ouvrir menu_form.
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Salut.
La méthode Hide() cache la fenêtre, mais ne la ferme pas. Donc c'est normal que ton programme continue à s'exécuter. Comme le dit Titeoe, la méthode Close() te permettra d'avoir ce que tu souhaites. (Cependant, il n'est pas obligatoire de l'appeler avant d'ouvrir l'autre, puisque Show() n'est pas bloquant).

En ce qui concerne ta signature, si j'ai bien regardé, ça n'affiche ton texte qu'une seule fois. C'est tordu comme code. J'aime bien :)

Krimog :
while (!succeed = try()) ;
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
19 septembre 2009

dites svp est ce c'est juste ou non
--------------------------------------------------------
private void btn_Se_Connecter_Click(object sender, EventArgs e)
        {
          
            frm_02_menu_principal menu = new frm_02_menu_principal();

            menu.Show();
            this.Hide();
            //this.Close();
        }
----------------------------------------------------------
private void frm_02_menu_principal_FormClosed(object sender, FormClosedEventArgs e)
        {
            Application.Exit();
        }
----------------------------------------------------
est ce que ce code impose un problème à la lourdeur du mémoir ?????
/*
j=2;
for (i=0; i <j ; i++)
{
Console.WriteLine("Merciiiiiii");
j=i+1;
}
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Est-ce que ça fonctionne, oui (si tu n'oublies pas de rattacher ta fonction "frm_02_menu_principal_FormClosed" à l'événement).
Est-ce que c'est propre, absolument pas...

Pourquoi ne fais-tu pas juste
private void btn_Se_Connecter_Click(object sender, EventArgs e)
{
      frm_02_menu_principal menu = new frm_02_menu_principal();
      menu.Show();
      this.Close();
}

Krimog :
while (!succeed = try()) ;
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
19 septembre 2009

j'ai essayé avant d'envoyé le derniers message mais ca ne marche pas
il affiche la form menu pour une seconde puis il ferme l'application directement

frm_02_menu_principal menu = new frm_02_menu_principal();
menu.Show();
this.Close();
 mais le code de mon derniers message ca marche mais je sais pas est ce qu'il impose de problème à la lourdeur du mémoir du pc ou de l'application ?????

/*
j=2;
for (i=0; i <j ; i++)
{
Console.WriteLine("Merciiiiiii");
j=i+1;
}
Messages postés
28
Date d'inscription
dimanche 2 novembre 2008
Statut
Membre
Dernière intervention
19 septembre 2009

Merci [../auteur/MALKUTH/56982.aspx Malkuth]
la première solution ne marche pas et la deuxième est efficace

/*
j=2;
for (i=0; i <j ; i++)
{
Console.WriteLine("Merciiiiiii");
j=i+1;
}
Messages postés
28
Date d'inscription
lundi 27 avril 2009
Statut
Membre
Dernière intervention
25 mai 2010

salut tout le monde

Même cette solution ne marche pas sur mon code

controleur

c =
new
controleur();

this.Hide();c.ShowDialog();

this.Close();

merci d'avance
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
44
Salut

ça signifie quoi "ne marche pas" ?

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -