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#][VS 2005] fenetres MDI


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Par défaut [c#][VS 2005] fenetres MDI
    Hi everybody!!!!!

    Jai un petit probleme avec mon application. Jai un formulaire principal ki s'appelle Frm_main et qui a la propriété IsMdiContainer initialiser a true.J'y ai déposé un Menustrip1 ou j'ai un menu Pays dont l'évenement sur click me permet de lancer un formulaire Frm_Pays avec le code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void mnu_pays_Click(object sender, EventArgs e)
            {
                Frm_Pays Pa = new Frm_Pays();
                Pa.Show()
                Pa.MdiParent = this;
            }
    alors kan je met d'abord avant rien ne s'affiche ,par contre kan je conserve le code comme tel et bien la fenetre apparait et disparait en meme temps.

    Mon objectif est de pouvoir ouvrir plusieurs formulaires en avant-plan tout en conservant mon Frm_main en arriere plan.

    merci de bien vouloir m'aider.

  2. #2
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Bonjour

    Visiblement l'affichage de la form doit declancher du code qui d'une maniere ou d'une autre la masque tout de suite apres.

    L'ideal est de mettre un point d'arret (en cliquant dans la marge du code pour surligner Pa.Show() en rouge) lancer l'application et de suivre le code execute a la suite du Pa.Show() en pas-a-pas (touche F8 )

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Salut .

    au vu du code c'est absolument normal que la fenetre disparaisse .

    Explication pas à pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void mnu_pays_Click(object sender, EventArgs e)
            {
                Frm_Pays Pa = new Frm_Pays();
                Pa.Show()
                Pa.MdiParent = this;
            }
    Premier Ligne déclare est instancie une variable de type Frm_Pays
    La deuxieme l'affiche
    La 3eme lie le container MDI à la fenetre active.

    Puis la fonction est quitté et toute les variables locale sont détruite.
    La fenetre instancié dans la fonction n'ayant aucune référence externe elle est détruite. C'est pourquoi la fenetre disparait

  4. #4
    Membre confirmé Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Par défaut
    Ouah!!!!!!
    disons que je suis un peu a la bourre avec votre explication mais ca morais kan meme fait beaucoup plaisir que vous me proposiez une solution

    Merci

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Par défaut
    c'est simple crèe ton instance dans la sub "load" de ta "main form"

    Dans ton evenement clic, tu fais juste le show()
    et la ton instance n'est pas détruite a la fin de ta fonction.

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par Sodangbe
    Ouah!!!!!!
    disons que je suis un peu a la bourre avec votre explication mais ca morais kan meme fait beaucoup plaisir que vous me proposiez une solution

    Merci
    la solution est donnée .... tu ne sais pas la lire c'est tout .

    Tu déclares une variable d'instance . Tu l'instacies dans ton constructeur et tu fait ton Show() dans le le click.

    Rien de plus simple, faut jsute réfléchir a ce que l'on fait ....

  7. #7
    Membre confirmé Avatar de Sodangbe
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    171
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 171
    Par défaut
    thks pour votre aide ,je m'en suis sorti finalement grace aux dernières recommandations mais je dois avouer que j'ai du changer encore quelques bout de mon code pour que ca fonctionne.

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

Discussions similaires

  1. [C# / VS 2005] Form MDI Child hors de la fenetre Parent
    Par mr_keyser dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/05/2007, 11h24
  2. [VB.NET] Fond d'une fenetre MDI
    Par olbi dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/05/2006, 14h20
  3. [VB.NET]une seule instance par fenetre MDI
    Par pat59 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/02/2006, 11h14
  4. fenetre MDI - problème d'allocation
    Par say dans le forum C++Builder
    Réponses: 8
    Dernier message: 03/11/2005, 17h06
  5. Question sur la gestion des fenetres MDI
    Par RémiONERA dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/07/2005, 07h58

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