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 :

Problème de connexion de fenêtre à Panel


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Par défaut Problème de connexion de fenêtre à Panel
    Bonsoir tous le monde! Voilà mon problème est que j'ai plusieurs Form que je voudrais par la sélection d'un choix dans le Panel de ma Form principale.

    Dans ma Form principal ("mainForm"), il y a un menu contenant pour l'instant Fichier|Nouveau. (Je fais étape par étape ). Lorsque je clique sur nouveau une seconde Form ("Form2") apparaît. Elle permet à l'utilisateur de faire un choix. Ce choix permettra d'afficher la comboBox correspondante et l'afficher dans le panel de ("mainForm"). Le ComboBox se nomme ("Choix"). Ensuite toujours dans ("Form2"), il ya deux bouton, un pour valider ("BV") et l'autres pour annuler ("BA"). Le bouton qui m'interresse est ("BV") bien sûr. Voilà l'utilisateur à fait un choix et il clique sur Valider. Et c'est la que j'ai un problême. Car je voudrais prendre le contrôle de mon Panel dans ("mainForm") et afficher ma XForm, comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...panel1.Controls.Add(XForm);
    Bien sûr, mon panel1 est en public. Je pensais trouvé ceci, mais non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mainForm.panel1.Contreols.Add(XForm);
    Voilà j'espère que vous pourrez m'aider? Bonne soirée à tous.

  2. #2
    Membre confirmé
    Étudiant
    Inscrit en
    Février 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 202
    Par défaut
    Citation Envoyé par terminator59140 Voir le message
    je voudrais prendre le contrôle de mon Panel dans ("mainForm")
    Bonsoir,

    Tu veux dire quoi par : "Prendre le contrôle?"

  3. #3
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Par défaut
    Plutôt connecté ou créer un lien. Car ce que je voudrais faire c'est afficher la XForm correspondant par l'intermédiaire de la Form2 dans le panel de la mainForm.

  4. #4
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 535
    Par défaut
    Plutôt que d'utiliser un Form, si tu mettais tous es contrôles dans un UserControl, tu pourrais l'inclure dans ton panel sans aucun problème. Et si tu veux afficher ce UserControl dans une Form autonome, tu pourras aussi.

  5. #5
    Membre confirmé

    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 177
    Par défaut
    Pourrais-tu me donné un exmple? En ce moment je change toutes mes Forms en UserControl.

  6. #6
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 535
    Par défaut
    un UserControl a un comportement identique à ceux que tu trouves dans la toolbox de VS. Une fois ton projet géénré, tu dois trouver les usercontrol dans cette toolbox. Soit tu les prends et tu les poses où tu veux dans un Form, soit tu crées tes usercontrol et tu les ajoutes par code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel1.Controls.Add(new Monusercontrol());
    Si tu veux un exemple plus précis, ça sera pour demain parce que là, il est un peu tard

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    217
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 217
    Par défaut
    Si je puis me permettre, "terminator" :

    grace a la demande de précision de la part de Krustig et l'invitation de Papy a penser aux UserControl, le fil de cette discussion est assez bien orientée, pour ton besoin qui semble être de "factoriser" certains de tes groupes de controles (p.ex, ton XForm) pour reutilisation plus aisée dans les autres Form...

    Un conseil, cependant : en transformant tes "XForm" et autres en UserControl, concentre-toi sur l'aspect "présentation" et ré-utilisabilité de ceux-ci précisément. Je veux dire par là que si tes UserControls ainsi obtenus font, dans leur code, des hypothèses sur la maniere dont leurs conteneurs vont les utiliser, c'est pas bon, en terme de conception... et tu vas finir par t'en rendre compte en etant obligé de faire plusieurs allers-retours dans leur code pour qu'ils soient utilisables. C'est pourquoi je te recommande de t'efforcer de laisser la véritable "logique" de ton application dans les "vraies forms" et de reduire au strict minimum, dans tes UserControls, le code qui n'est pas du code de presentation / disposition.

    Au risque de paraitre caricatural, je prends l'exemple extreme où tu laisserais, par exemple, du code d'accès à ta BDD dans ton UserControl, simplement parce qu'il provient de la form qui t'a servie de modele pour le construire... Quand tu poseras ton UserControl sur une forme "A", ça pourra te convenir, mais sur une autre forme disons "B", tu trouveras peut être que ton UserControl, pour le coup, "il en fait trop"...

    En esperant que ce que je dis a du sens pour toi...

    Bah, de toute façon, faut trebucher et tomber/se planter un peu (pas de trop) pour reussir, ok...

    Sinon, oui, les UserControls, c'est bien pratique, tu verras.

    Citation Envoyé par terminator59140 Voir le message
    Pourrais-tu me donné un exmple? En ce moment je change toutes mes Forms en UserControl.

  8. #8
    Membre éprouvé Avatar de bobmidou
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 121
    Par défaut
    Salut

    Je ne sais pas si j'ai bien compris ta question mais voici un exemple qui ajoute une comboBox dans un panel d'un Form1 par un Form2 (ouvert par Form1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    ComboBox c = new ComboBox();
    c.Items.Add("item1"); // ajouter des items dans la combo
    c.Items.Add("item2");
    c.Items.Add("item3");
    FormCollection f = Application.OpenForms;
    foreach (Form myform in f)
    {
        if (myform.Name == "Form1")
        {
            foreach (Control cr in myform.Controls)
                if (cr.Name == "panel1")
                {
                    cr.Controls.Add(c); // ajouter au (0,0) du panel1
                    // ajouter ailleurs dans le panel1
                    // c.Location = new System.Drawing.Point(236, 50);
                    break;
                }
        }
     
    }
    Bonne chance

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

Discussions similaires

  1. [ Oracle 9ias / 10g] problème de connexion
    Par Boosters dans le forum JDeveloper
    Réponses: 2
    Dernier message: 20/01/2004, 18h23
  2. Problème de connexion au serveur MYSQL
    Par ETOKA dans le forum Outils
    Réponses: 2
    Dernier message: 27/11/2003, 10h28
  3. Réponses: 11
    Dernier message: 13/10/2003, 15h48
  4. problème de connexion 2 PC
    Par guitalca dans le forum Développement
    Réponses: 3
    Dernier message: 22/09/2003, 15h04
  5. Problème de création de fenêtre
    Par tomateauketchup dans le forum DirectX
    Réponses: 1
    Dernier message: 08/06/2003, 20h42

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