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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    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 émérite
    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
    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 éclairé
    Avatar de Pierre8r
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 518
    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 émérite
    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
    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