none
Passage d'une Variable d'une form dans uner autre en C# RRS feed

  • Question

  •  Bonjour , je migre mes applivations de VB rn C#.
    J'ai un probleme simple que je n'arrive pas a resoudre.  Comment Acceder aux proprietes et aux controles d'une 2 eme form. L'Exemples ci dessus fonctionnent tres bien en VB.
    Comment faire en C# ?

    // 1ere form
    using
    System;
    using
    System.Windows.Forms;
    namespace
    TestProprietes
    {
    public partial class Form1 :
    Form
    {
    public
    Form1()
    {
    InitializeComponent();
    }
    private void butVersForm2_Click(object sender, EventArgs
    e)
    {
    Form MyForm = new Form2
    (); 

     

    // Pour ces 2 lignes sont en Erreur !!!
    MyForm.PropNom = "aaaaa"
    ;
    MyForm.LabUnNom.Test =
    "bbbb"
    ; 

    MyForm.Show();
    }
    }
    }

    // 2eme form
    using

     

    System;
    using System.Windows.Forms;
    namespace TestProprietes
    {
    public partial class Form2 : Form
    {
    string UnNom;
    public string PropNom
    {
    get { return UnNom; }
    set { UnNom = value; }
     

     

    public Form2()
    {
    InitializeComponent();
    LabUnNom.Text =
    "bbbb";
    }
    }
    }

    Merci de votre aide
    Anthride

     

    lundi 26 octobre 2009 08:22

Réponses

  • Lors de ton new Form2() tu utilises une variable de type Form. Celle ne comporte pas la propriété PropNom.

    Remplace Form par Form2:

    Form2 MyForm = new Form2 ();
    • Marqué comme réponse Cdes lundi 26 octobre 2009 09:52
    lundi 26 octobre 2009 09:44
    Modérateur

Toutes les réponses

  • Lors de ton new Form2() tu utilises une variable de type Form. Celle ne comporte pas la propriété PropNom.

    Remplace Form par Form2:

    Form2 MyForm = new Form2 ();
    • Marqué comme réponse Cdes lundi 26 octobre 2009 09:52
    lundi 26 octobre 2009 09:44
    Modérateur
  • Meci cela fonctionne.

    Pour voir le controle LabUnNom.Text , j'ai mis public dans le fichier form2.designer.cs Ect ce la bonne solution , en tout cas cela fonctionne.

    public

     

    System.Windows.Forms.Label LabUnNom;

    Merci Anthride

    lundi 26 octobre 2009 09:58
  • D'une manière générale, il ne faut pas modifier le fichier designer.cs manuellement car tu cours toujours le risque que tes modifications soient écrasées. Quand tu veux modifier accessibilité de ton controle tu peux utiliser la propriété "Modifiers" depuis l'onglet propriété ( bon dans ton cas cela revient au même ).
    Pour ma part j'ajouterai plutôt une propriété sur ta form qui aurait en charge de modifier la propriété Text du label afin de ne pas exposer en public ton label.


    lundi 26 octobre 2009 10:09
    Modérateur
  • Merci du Conseil

    Et sans doute a bientot

    Anthride
    lundi 26 octobre 2009 10:17