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 :

Fermer form dans Panel


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Fermer form dans Panel
    Bonjour,
    Dans l'application sous VS en C# que je développe je n'arrive pas a fermer une form. Je m'explique : J'ai une form Main qui contient Panel 1 (treeview avec différents noeuds parents et enfant) et Panel2 ; dans le Panel 2 j'affiche des form après un clique sur les noeuds.
    Mon souci c'est que lorsque par exemple on ouvre form1 en cliquant sur noeud1 puis form2 en cliquant sur le noeud2, la form1 reste ouverte sous la form2.
    Alors si l'utilisateur clique pendant 1h sur les différents noeuds, les form souvrent les une sur les autres.
    Je voudrais donc que lorsque l'on clique sur un noeud que la form déjà ouverte se ferme toute seule, sens avoir besoin d'un bouton.
    J'espère avoir été clair dans mes explication, qlq'un peut m'aider svp :-) ?

  2. #2
    Membre régulier
    Homme Profil pro
    Developpeur .NET et Administrateur de bases de données
    Inscrit en
    Décembre 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Developpeur .NET et Administrateur de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 49
    Points : 79
    Points
    79
    Par défaut
    Bonjour,
    Si j'ai bien compris, tu fais une application MDI. SI c'est le cas, tu peux tout simplement, avant d'ouvrir un formulaire, fermer d'abord la fenêtre enfant active comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.ActiveMdiChild.Close();
    Christian KAMUSALU
    IT Developper / Business Analyst / Project Manager

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Slt,
    Non c'est pas une appli MDI, la form Main est une simple winform

  4. #4
    Membre régulier
    Homme Profil pro
    Developpeur .NET et Administrateur de bases de données
    Inscrit en
    Décembre 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Developpeur .NET et Administrateur de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 49
    Points : 79
    Points
    79
    Par défaut
    Bonjour,
    Comme ce n'est pas une application mdi, je pense que les autres formulaires peuvent être des membres de la classe "formulaire principale" que tu as appelé Main. Ainsi, le form Mainl peut connaître tous les autres formulaires.
    Alors tu peux faire qu'avant l'ouverture du form1 par exemple, tu teste si le form2 est ouvert, tu le fermes d'abord et tu affiche le form1 après. Avant l'ouverture du form2, tu teste si le form1 est ouvert, tu fermes form1 d'abord et tu affiche le form2 après.
    Si tu n'as pas compris je peux t'aider avec un brun de code.
    Christian KAMUSALU
    IT Developper / Business Analyst / Project Manager

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    slt, en effet j'aurai besoin d'un peu de code :s. J'ai fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(a.created)    // form1 a = new form1()
    {
         b.close      // form2 b = new form2()
     
    }
    Mais ça ne marche pas.

  6. #6
    Membre régulier
    Homme Profil pro
    Developpeur .NET et Administrateur de bases de données
    Inscrit en
    Décembre 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Developpeur .NET et Administrateur de bases de données
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2010
    Messages : 49
    Points : 79
    Points
    79
    Par défaut
    slt, en effet j'aurai besoin d'un peu de code :s. J'ai fait
    if(a.created) // form1 a = new form1()
    {
    b.close // form2 b = new form2()

    }
    Mais ça ne marche pas.
    Bonjour,
    Quand on clique sur Noeud1 pour ouvrir Form1, tu ferme Form2 et tu ouvre form1 comme ceci (avant tout Form1 et Form2 sont des membres de la classe form Main) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Form1 f1;
    Form2 f2;
     
    //Quand on clique sur le Noeud1, on ferme f2 et on ouvre f1
    private void Noeud1_Click(object sender, EventArgs e)
    {
          if (f2 != null)
          {
               f2.Close();
               f2 = null;
          }
          f1.show();
    }
    Tu fais de meme lorsqu'on clique sur Noeud2.
    Christian KAMUSALU
    IT Developper / Business Analyst / Project Manager

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

Discussions similaires

  1. [c# ou VB.net] afficher une Form dans un Panel
    Par octal dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/03/2013, 16h43
  2. [C#] Comment ouvrir une form dans un panel
    Par Le Basque dans le forum Windows Forms
    Réponses: 7
    Dernier message: 28/02/2007, 12h31
  3. Loader une Form dans Conteneur ou Panel
    Par coucoulido dans le forum Delphi
    Réponses: 1
    Dernier message: 12/02/2007, 10h47
  4. [C# 2.0] Fermer une Form dans un événement
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/11/2006, 11h05
  5. [VS 2005/ C#]Afficher une form dans le panel d'un SplitterContain
    Par MoscoBlade dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/08/2006, 19h36

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