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 :

[c# 2.0] Comment modifier un string d'un Form depuis un autre Form ?


Sujet :

Windows Forms

  1. #1
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut [c# 2.0] Comment modifier un string d'un Form depuis un autre Form ?
    Bonjour,

    J'ai déclaré un string dans mon Form1, et je souhaite modifier ce string depuis une Form2.
    Comment faite ?

    Merci

    Tintin92

    Mon code qui ne compile pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        public partial class Form1 : Form
        {
            public string strTest;
     
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 frm = new Form2();
                frm.Show();
            }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void button1_Click(object sender, EventArgs e)
            {
                 Form1.strTest = textBox1.Text;
            }

  2. #2
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    form 1
    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
    22
     
    namespace WindowsApplication6
    {
    	public partial class Form1 : Form
    	{
    		public Form1()
    		{
    			InitializeComponent();
    		}
     
    		private string _myString;
     
    		public string MyString
    		{
    			set { _myString = value; }
    		}
     
    		private void button1_Click(object sender, EventArgs e)
    		{
    		}
    	}
    }
    form 2
    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
     
    namespace WindowsApplication6
    {
    	public partial class Form2 : Form
    	{
    		public Form2()
    		{
    			InitializeComponent();
    		}
     
    		private void Form2_Load(object sender, EventArgs e)
    		{
    			Form1 f = new Form1();
    			f.MyString = "blabla";
    		}
    	}
    }

  3. #3
    Membre averti
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    Points : 341
    Points
    341
    Par défaut
    Bonjour shwin,

    Merci pour ta méthode.
    Entre temps j'ai trouvé ailleurs une autre méthode avec class globale.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    namespace AppWinTest
    {
        class MyGlobal
        {
            public static string strTest;
        }
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void button1_Click(object sender, EventArgs e)
            {
                MyGlobal.strTest = textBox1.Text;
            }

  4. #4
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    c'est une facon qui fonctione mais qui n'est pas très propre. Sinon tu va prendre l'habitute de tout mettre static et ca va être le bordel!

    Apprend à respecter ce qui est privé a une form et d'y acceder seulement avec les outils que tu lui propose

    Comme dans mon exemple, jaurais pu mettre directement _myString en public et y acceder avec f._myString = "valeur" sauf que c'est beaucoup plus propre de le faire avec les propriété (f.MyString = "valeur"). Comme ca si jamais tu as 10 formulaire qui veux modifier cette variable et que tu veux mettre une validation juste avant la modification ... tu va mettre ton code a un seul endroit au lieux de 10.

    Je sais pas trop si tu me comprend.

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

Discussions similaires

  1. Comment modifier les champs d'une classe depuis une autre
    Par SuperJoker dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 19/06/2014, 11h28
  2. Réponses: 1
    Dernier message: 14/08/2009, 08h50
  3. Réponses: 3
    Dernier message: 31/01/2008, 10h09
  4. Réponses: 10
    Dernier message: 22/08/2007, 18h07
  5. Comment acceder au control d'une form depuis une autre form?
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 11
    Dernier message: 05/07/2007, 12h18

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