Fermer le premier formulaire

[Résolu]
Signaler
Messages postés
22
Date d'inscription
mercredi 11 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2008
-
Messages postés
22
Date d'inscription
mercredi 11 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2008
-
Bonjour à tous,

étant débutant en c#, je vais probablement poser une question bête mais bon, je me lance quand même...

Voilà, je code une petite application qui ouvre un premier formulaire demandant un login et mot de passe pour accéder à un second formulaire et j'amerais fermer le premier formulaire à l'ouverture du second...

j'ai fait ça :

Code :


if (String.Compare(strPasswordBase,strPasswordMd5) == 0)
{
this.close();//fermeture du formulaire 1
}


puis dans l'événement closing du formulaire 1 je met :
Code :


frmFormulaire2 = new frmFormulaire2();
frmFormulaire2.Show();


Mais ca marche pas, le programme se ferme...

Si qqun pouvait éclairer mon ignorance...
Merci d'avance !

7 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
ooops... j'm'a trompé :)

[STAThread]
static void Main()
{
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            frmLogin logpass = new frmLogin(); 
            logpass.Show();
            Application.Run();
}

c'est mieux la :)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
il faut faire Application.Exit();

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
Pour que ça fonctionne, il faut que tu modifies le main du programme comme ceci :

Program.cs (Main) :

Form1 frm1 = new Form1();
Application.Run(frm1);

(à la place de :
Application.Run(new Form1());
)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
195
Date d'inscription
dimanche 10 février 2002
Statut
Membre
Dernière intervention
16 février 2016

Deux solution s'offre à toi :
* 1 : Tu rend invisible ta fenetre Login à l'utilisateur visible false showintaskbar false ....
* 2 : héberger l'instruction suivante ailleur dans dans ta feuille de login :

[STAThread]

static
void Main()
{
   Application.Run(
new Form1());
}
Car c'est elle qui lance ton appli et qui la libére en fin d'existence (Arrêter moi si je me trompe).

J'ai l'habitude de lancer la fenêtre principale de mon appli en premier et faire appel à la fenetre de login au prottected override onLoad de celle ci. Ansi, si login n'est pas valide et qu'il décide ne pas en saisir, alors je ferme la fenêtre principale et zou ... plus de prog.

RodCobalt22, vous salue bien
Pensez au TAG résolu ! Ainsi les réponses seront plus facile à trouver et les serial Helper iront plus vite
 PS : Pardonnez mesfautes d'orthographe
Messages postés
22
Date d'inscription
mercredi 11 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2008

Merci beaucoup pour vos réponses...

Je suis en train de tester la solution de sebmafate.

Dans le main je met bien :

[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frmLogin logpass = new frmLogin();
Application.Run(logpass);
}
et ensuite ?

j'ai testé l'ouverture du formulaire2 :

frmPrincipal logpass = new frmPrincipal();
logpass.show();

avec l'événement onClosing du
formulaire1 (frmLogin) mais même chose, le pogramme se ferme.
Peux-tu m'en dire plus sebmafate ?
Messages postés
22
Date d'inscription
mercredi 11 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2008

Merci sebmafate, ca marche !

Mais le problème maintenant est que le processus reste actif quand on ferme le programme, sans doutte du au fait que Application.Run() ne prenne plus de formulaire en paramètre...

J'ai essayé un this.Dispose() dans l'évenement formClosed du formulaire2 mais sans résultat...
Messages postés
22
Date d'inscription
mercredi 11 mai 2005
Statut
Membre
Dernière intervention
1 janvier 2008

Fantastique ca marche nickel, un tout grand merci à toi sebfamate !

à bientôt !