IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Fermeture des fenêtres


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 10
    Points : 11
    Points
    11
    Par défaut Fermeture des fenêtres
    Bonjour,

    Je dispose de 2 formulaires, le 1er (CodeEntre)
    -affiche le 2ème (Releve),
    - et masque le 1er.

    Quand je veux fermer le 1er formulaire à partir du 2ème une exeption est levée :

    Une exception non gérée du type 'System.StackOverflowException' s'est produite dans System.Windows.Forms.dll + Assurez-vous que vous n'avez pas une boucle infinie ou une récurrence infinie.


    Comment fermer complètement l'application, SVP (un exemple de code m'arrangerait), SVP ?

    Mon Code :
    //*****Formulaire CodeEntre********
    private void btnEntre_Click(object sender, EventArgs e)
    {
    this.Hide();
    Releve FormReleve = new Releve();
    FormReleve.ShowDialog();
    }

    //******Formulaire Releve*******
    private void Releve_FormClosing(object sender, FormClosingEventArgs e)
    {
    try
    {
    CodeEntre.ActiveForm.Close();
    }
    catch (Exception)
    {

    throw;
    }

    }

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 60
    Points : 47
    Points
    47
    Par défaut
    Salut,

    alors en fait ton problème vient du fait que ton code fait une boucle infinie. En effet tu appelle la méthode Clode() dans une méthode qui est appelé justement quand tu fais close. Tu ne peux pas faire de close dans une méthode qui est appelée à l'événement de closing ou closed !

    Log

  3. #3
    Membre régulier Avatar de LexWizard
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2007
    Messages : 101
    Points : 119
    Points
    119
    Par défaut
    Si ton Form "CodeEntre" doit se fermer dès qu'il a ouvert ton Form "Releve":
    (il ne reste donc que ton Form "Releve" ouvert)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void btnEntre_Click(object sender, EventArgs e)
    {
    this.Hide(); 
    Releve FormReleve = new Releve();
    FormReleve.Show();
    this.Close();
    }
    Et si tu souhaite fermer completement l'application de ton Form "Releve":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dans "CodeEntre":
    private void btnEntre_Click(object sender, EventArgs e)
    {
    this.Hide(); 
    Releve FormReleve = new Releve();
    FormReleve.ShowDialog(); //Le code ne continu pas plus loins tant que la FormReleve  n'est pas fermé.
    this.Close();
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fuite de mémoire à la fermeture des fenêtres
    Par nostrora dans le forum Débuter
    Réponses: 7
    Dernier message: 04/07/2011, 09h30
  2. Fermeture des fenêtres
    Par Feiloo dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 16/04/2011, 20h11
  3. Fermeture des fenêtres
    Par IAGISG dans le forum Débuter
    Réponses: 2
    Dernier message: 03/02/2011, 11h25
  4. Réponses: 1
    Dernier message: 14/06/2010, 16h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo