none
Prendre le contrôle des objets secondaire de ma Form 1 sur ma form2? RRS feed

  • Question

  • Bonjour à tous! Ca faut un moment que je bloque dessus et je n'arrive pas à trouver la solution. Voila dans mon projet, j'ai deux form (Form1 & Form2). Dans Form1, j'ai un composant du nom treeview. Et dans la seconde, j'ai un textbox et un bouton OK.

    La chose que je veux faire, c'est quand j'appuie sur le bouton OK, je veux qu'il m'affiche les informations contenu dans le textbox dans le treeview.

    Mais le problème, avec l'aide de l'Intellisence, il ne m'affiche pas les informations des composants contenu dans la Form1 sur le code de ma Form2.

    Je ne sais pas comment faire, alors votre aide serait la bien venu. Merci d'avance.
    lundi 9 juin 2008 05:28

Réponses

  • Bonjour Terminator,

     

    Pour que cela fonctionne, il vous faut associer les deux formulaires et rentre accessible votre treeview. Par exemple :

    Mon Formulaire 1 possède le treeview et le formulaire 2 le textbox et le bouton.

     

    Dans la méthode InitializeComponent() du formulaire 1 votre treeview est un champs privé. De ce fait, il n'est visible que des autres membres du formulaire. Pour le rendre accessible vous devez changer le modificateur comme ci-dessous

     

    internal System.Windows.Forms.TreeView treeView1;

     

    Internal signifie que le treeview sera visible par tous les types de votre assemblage.

     

    Ensuite, nous devons lier nos deux formulaires :

     

    Form1 frmWithTree;

     

    Code Snippet

    //Dans le constructeur du mon fomulaire 2 nous passons un objet de type notre formulaire 1

    public Form2(Form1 frm)

    {

       InitializeComponent();

       frmWithTree = frm;

    }

     

    //Nous constatons maintenant que le treeview de notre fomulaire 1 est accessible

    private void button1_Click(object sender, EventArgs e)

    {

       frmWithTree.treeView1.Nodes.Add(textBox1.Text);

    }

     

     

    Pour finir, nous appelons notre formulaire 2 à partir du fomulaire 1 :

     

    Code Snippet

    //Le formulaire 1 est passé en argument du constucteur du formulaire 2 grace à this

    private void button1_Click_1(object sender, EventArgs e)

    {

    Form2 fTxtbox = new Form2(this);

    fTxtbox.ShowDialog();

    }

     

     

    Amicalement,

     

     

     

    lundi 9 juin 2008 05:55

Toutes les réponses

  • Bonjour Terminator,

     

    Pour que cela fonctionne, il vous faut associer les deux formulaires et rentre accessible votre treeview. Par exemple :

    Mon Formulaire 1 possède le treeview et le formulaire 2 le textbox et le bouton.

     

    Dans la méthode InitializeComponent() du formulaire 1 votre treeview est un champs privé. De ce fait, il n'est visible que des autres membres du formulaire. Pour le rendre accessible vous devez changer le modificateur comme ci-dessous

     

    internal System.Windows.Forms.TreeView treeView1;

     

    Internal signifie que le treeview sera visible par tous les types de votre assemblage.

     

    Ensuite, nous devons lier nos deux formulaires :

     

    Form1 frmWithTree;

     

    Code Snippet

    //Dans le constructeur du mon fomulaire 2 nous passons un objet de type notre formulaire 1

    public Form2(Form1 frm)

    {

       InitializeComponent();

       frmWithTree = frm;

    }

     

    //Nous constatons maintenant que le treeview de notre fomulaire 1 est accessible

    private void button1_Click(object sender, EventArgs e)

    {

       frmWithTree.treeView1.Nodes.Add(textBox1.Text);

    }

     

     

    Pour finir, nous appelons notre formulaire 2 à partir du fomulaire 1 :

     

    Code Snippet

    //Le formulaire 1 est passé en argument du constucteur du formulaire 2 grace à this

    private void button1_Click_1(object sender, EventArgs e)

    {

    Form2 fTxtbox = new Form2(this);

    fTxtbox.ShowDialog();

    }

     

     

    Amicalement,

     

     

     

    lundi 9 juin 2008 05:55
  • Je te remercie de ton aide, mais dommage que ça ne soit pas plus simple. Tant que ça marche , c'est le principale
    lundi 9 juin 2008 16:27