none
Passage de données d'un Form à son userControl RRS feed

  • Question

  • Bonjour,

    j'ai un Form qui contient un panel qui lui même contient différents userControl. Les userControl sont affichés en fonction de l'élément sélectionné dans une listBox.

    Je voudrais passer une données du Form au userControl sélectionné mais je ne vois pas comment faire. 

    A noter que si le Form est vide, aucune données ne doit être transmise au userControl.

    Pour l'instant, j'appel mon userControl dans mon Form comme ceci:

    UserControl control1 = new UCActionGoToMatrix();
                    panelUserControl.Controls.Add(control1);
                    control1.Dock = DockStyle.Fill;

    Auriez-vous une idée?

    Merci



    • Modifié paintbox00 mercredi 26 décembre 2012 16:51
    mercredi 26 décembre 2012 11:19

Réponses

  • Bonjour,

    Vous pouvez ajouter une méthode public dans votre usercontrol est l'appeler juste après l'instance. Sinon vous pouvez déclarer une 2ème signature d'instance avec les paramètres à donner et lorsque vous faites le NEW, vous donnez les valeurs.

    Est-ce que cela répond à votre question ?

     

    Cordilement


    Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !

    • Marqué comme réponse paintbox00 jeudi 27 décembre 2012 19:00
    jeudi 27 décembre 2012 14:04
  • Bonjour Lyamine,

    merci pour votre aide.

    J'ai finalement trouvé la solution et elle correspond à ce que vous avez proposé.

    ce qui donne :

    dans mon userControl j'ai effectivement créé une méthode public pour récupérer les infos.

    public void infoBoutton(int buttonId)
    {
    choixBouton.text = buttonId; 
    }

    et dans mon form prinicpale j'accède à ma méthode en instanciant un form userControl

    UCActionGoToMatrix control1 = new UCActionGoToMatrix();
    panelUserControl.Controls.Add(control1);
    control1.Dock = DockStyle.Fill;
    control1.infoButton(buttonId);

    voilà c'était tout simple et cela fonctionne.

    Encore merci pour votre aide.


    • Marqué comme réponse paintbox00 jeudi 27 décembre 2012 19:00
    jeudi 27 décembre 2012 19:00

Toutes les réponses

  • Bonjour,

    Vous pouvez ajouter une méthode public dans votre usercontrol est l'appeler juste après l'instance. Sinon vous pouvez déclarer une 2ème signature d'instance avec les paramètres à donner et lorsque vous faites le NEW, vous donnez les valeurs.

    Est-ce que cela répond à votre question ?

     

    Cordilement


    Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !

    • Marqué comme réponse paintbox00 jeudi 27 décembre 2012 19:00
    jeudi 27 décembre 2012 14:04
  • Bonjour Lyamine,

    merci pour votre aide.

    J'ai finalement trouvé la solution et elle correspond à ce que vous avez proposé.

    ce qui donne :

    dans mon userControl j'ai effectivement créé une méthode public pour récupérer les infos.

    public void infoBoutton(int buttonId)
    {
    choixBouton.text = buttonId; 
    }

    et dans mon form prinicpale j'accède à ma méthode en instanciant un form userControl

    UCActionGoToMatrix control1 = new UCActionGoToMatrix();
    panelUserControl.Controls.Add(control1);
    control1.Dock = DockStyle.Fill;
    control1.infoButton(buttonId);

    voilà c'était tout simple et cela fonctionne.

    Encore merci pour votre aide.


    • Marqué comme réponse paintbox00 jeudi 27 décembre 2012 19:00
    jeudi 27 décembre 2012 19:00