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 :

[C#2.0]Problème fermeture fille Mdi


Sujet :

Windows Forms

  1. #1
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut [C#2.0]Problème fermeture fille Mdi
    Bonjour,


    Dans une appli, je voudrais pouvoir fermer une fenêtre en cas d'erreur dans le "OnLoad". J'ai donc fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private void MaForm_Load(object sender, EventArgs e)
    {
        try
        {
            ...
        }
        catch(Exception x)
        {
            ...
            this.Close();
        }
    }
    Voici mon problème :

    Lorsque j'ouvre la Form en mode "normal" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form1 f = new Form();
    f.Show();
    tout se passe bien en cas de levée d'erreur... La fenêtre se ferme sans même apparaître.

    Maintenant si je veux ouvrir la fenêtre en tant que fille Mdi, j'ai un plantage !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form1 f = new Form();
    f.MdiParent = this;
    f.Show();
    L'erreur levée est "InvalidOperationException - Value Close() cannot be called while doing CreateHandle()"

    Pourquoi ai-je cette levée d'exception ?

    Comment faut-il faire alors pour fermer une fenêtre Mdi lorsqu'on rencontre un problème dans le "OnLoad" ?

    Merci.

  2. #2
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    utilise la méthode Dispose à la place
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  3. #3
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    J'ai déjà essayé avec Dispose() mais j'ai le même problème, sauf qu'il ne lève pas l'exception sur la ligne "this.Dispose()" mais sur le "base.Dispose(disposing)" de la procédure Dispose().

    Je ne comprends pas pourquoi !

    Une autre idée ?

  4. #4
    Membre expérimenté Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Points : 1 443
    Points
    1 443
    Par défaut
    c'est très mauvais d'intercepter Exception...

    il faut plutot intercepter les exceptions particulières...

    exécute pas à pas et regarde ou ça plante. mets le code qu'il y a dans le bloc try pour voir ce qu'il fait.
    il vaut mieux prendre son pied que de se prendre la tête!!

    http://bossun.noxblog.com

  5. #5
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Ce n'est pas le code qui est dans le bloc try qui m'intéresse, celui-là je sais ce qu'il fait, et l'exception levée aussi (c'est moi la provoque pour forcer l'appli à passer dans le catch pour faire mes tests)

    Mon problème est qu'il relève une nouvelle exception dans le catch quand je fais Et cette exception c'est celle qui est décrite plus haut...

    Je voudrais donc juste savoir comment je peux forcer la fermeture d'une fenêtre Mdi dans le "OnLoad"...

Discussions similaires

  1. fille MDI se réduit au lieu de se fermer
    Par lebdenat dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/04/2006, 14h51
  2. [WD10] Fenêtre fille "MDI"
    Par lalilo dans le forum WinDev
    Réponses: 8
    Dernier message: 15/03/2006, 21h43
  3. Problème fermeture popup
    Par nicolb dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/02/2006, 08h53
  4. [MFC] problème lancement application MDI
    Par Denn's dans le forum MFC
    Réponses: 4
    Dernier message: 17/02/2006, 16h26
  5. Ecrire du texte dans les fenetres filles (MDI)
    Par trilomdor dans le forum MFC
    Réponses: 9
    Dernier message: 23/06/2004, 17h00

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