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

C# Discussion :

Afficher le contenu d'une variable d'un formulaire vers un autre formulaire déjà ouvert


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    BTS SIO
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : BTS SIO
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Par défaut Afficher le contenu d'une variable d'un formulaire vers un autre formulaire déjà ouvert
    Bonjour à tous,
    Je suis actuellement en deuxième année de BTS SIO.
    N'ayant jamais fait de développement auparavant, mes connaissances dans le domaines ne sont pas très avancées. J'ai une application C# à développer que j'ai à peu prêt finis, seulement j'aimerais l'améliorer.

    Je souhaiterais pour cela, être capable de modifier le contenu d'une textbox/label de mon premier formulaire1 depuis mon second formulaire2 sans devoir fermer mon formulaire1. J'ai recréé un projet vierge pour essayer mais sans succès. J'ai aussi essayé la méthode "facile" en mettant la propriété Modifiers en public mais je n'arrive pas à récupérer l'objet de mon formulaire1 courant.

    Nom : Capture d’écran (34).png
Affichages : 335
Taille : 153,8 Ko

    Si quelqu'un aurait la solution et surtout pourrait bien détailler car j'ai un peu de mal, merci beaucoup! ^^

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    C'est plutot facile à faire,

    La question a été posée au moins 20 fois sur ce forum, et au moins autant de réponse circulent,

    Cherches un peu car, à la longue, c'est dommage d'avoir 100 posts sur la même problématique

  3. #3
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Bonjour
    Comme dit par TheMonz ,voici un enieme post ....
    Utilite des props publiques dans les Winforms pour exposer le contenu des controls droppes...
    Utilite de l'objet Application ...
    Code behind .cs du Form principal:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
     
            public string StrA
            {
                get { return label1.Text; }
                set
                {
                    label1.Text = value;
                }
            }
     
            public string StrB
            {
                get { return textBox1.Text; }
                set
                {
                    textBox1.Text = value;
                }
            }
     
            public Color LabelColor
            {
                get { return this.label1.BackColor ;  }
                set 
                {
                    this.label1.BackColor = value;
                }
            }
            public Form1()
            {
                InitializeComponent();
            }
     
            private void btnGetData_Click(object sender, EventArgs e)
            {
               Form2 f = new Form2();
               f.Show(); 
     
            }
     
     
     
     
        }
    }
    code behind .cs du Form secondaire (ou des Forms secondaires);


    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form2 : Form
        {
     
            public string StrA
            {
                get { return textBox1.Text; }
                set
                {
                    textBox1.Text = value;
                }
            }
            public string StrB
            {
                get { return textBox2.Text; }
                set
                {
                    textBox2.Text = value;
                }
            }
            public Color ButtonColor
            {
                get { return this.btnPicker.BackColor; }
                set
                {
                    this.btnPicker.BackColor = value;
                }
            }
     
     
            public Form2()
            {
                InitializeComponent();
     
                this.textBox1.TextChanged  += new EventHandler(OnTextChanged);
                this.textBox2.TextChanged  += new EventHandler(OnTextChanged);
                this.btnPicker.BackColorChanged += new EventHandler(btnPicker_BackColorChanged);       
            }
     
            void btnPicker_BackColorChanged(object sender, EventArgs e)
            {
                Form1 f = Application.OpenForms[0] as Form1;
                f.LabelColor = ButtonColor;
            }
     
            void OnTextChanged(object sender, EventArgs e)
            {
                //on ne cree pas une nouvelle instance mais on accede à l'existante...
                Form1 f = Application.OpenForms[0] as Form1 ;
                f.StrA = StrA;
                f.StrB = StrB;
     
     
            }
     
            private void btnPicker_Click(object sender, EventArgs e)
            {
                ColorDialog colorDialog = new ColorDialog();
                if (colorDialog.ShowDialog() == DialogResult.OK)
                {
                    ButtonColor = colorDialog.Color;
                }
            }
     
     
     
     
     
     
     
        }
    }
    bon code....

  4. #4
    Membre averti
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Par défaut
    [QUOTE=MABROUKI;8517538]Bonjour
    Bonjour,
    Comme dit par TheMonz ,voici un enieme post ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            void OnTextChanged(object sender, EventArgs e)
            {
                //on ne cree pas une nouvelle instance mais on accede à l'existante...
                Form1 f = Application.OpenForms[0] as Form1 ;
                f.StrA = StrA;
                f.StrB = StrB;
     
            }
    Effectivement il y a beaucoup de sujets similaires, et si cet exemple vous parait très simple, moi je ne comprends pas cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Form1 f = Application.OpenForms[0] as Form1 ;
    J'ai besoin de faire ça pour lire une propriété depuis une autre classe, mais je ne comprend pas comment m'y prendre.

    Gégé

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2005
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 123
    Par défaut
    Bonjour,

    Tu peux tout simplement passer ta form1 en paramètre à ta 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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
     
            public string StrA
            {
                get { return label1.Text; }
                set
                {
                    label1.Text = value;
                }
            }
     
            public string StrB
            {
                get { return textBox1.Text; }
                set
                {
                    textBox1.Text = value;
                }
            }
     
            public Color LabelColor
            {
                get { return this.label1.BackColor ;  }
                set 
                {
                    this.label1.BackColor = value;
                }
            }
            public Form1()
            {
                InitializeComponent();
            }
     
            private void btnGetData_Click(object sender, EventArgs e)
            {
               Form2 f = new Form2(this);
               f.Show(); 
     
            }
     
        }
    }
    Puis dans ta form2, tu accèdes à toutes les propriétés publiques

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form2 : Form
        {
            private Form1 parentForm;
     
            public string StrA
            {
                get { return textBox1.Text; }
                set
                {
                    textBox1.Text = value;
                }
            }
     
            public string StrB
            {
                get { return textBox2.Text; }
                set
                {
                    textBox2.Text = value;
                }
            }
            public Color ButtonColor
            {
                get { return this.btnPicker.BackColor; }
                set
                {
                    this.btnPicker.BackColor = value;
                }
            }
     
     
            public Form2(Form1 form1)
            {
                InitializeComponent();
     
                parentForm = form1;
     
                this.textBox1.TextChanged  += new EventHandler(OnTextChanged);
                this.textBox2.TextChanged  += new EventHandler(OnTextChanged);
                this.btnPicker.BackColorChanged += new EventHandler(btnPicker_BackColorChanged);       
            }
     
            void btnPicker_BackColorChanged(object sender, EventArgs e)
            {
                Form1 f = Application.OpenForms[0] as Form1;
                f.LabelColor = ButtonColor;
            }
     
            void OnTextChanged(object sender, EventArgs e)
            {
                parentForm.StrA = StrA;
                parentForm.StrB = StrB;
            }
     
            private void btnPicker_Click(object sender, EventArgs e)
            {
                ColorDialog colorDialog = new ColorDialog();
                if (colorDialog.ShowDialog() == DialogResult.OK)
                {
                    ButtonColor = colorDialog.Color;
                }
            }
     
        }
    }

  6. #6
    Membre averti
    Homme Profil pro
    Projeteur DAO, developpeur
    Inscrit en
    Octobre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Projeteur DAO, developpeur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Octobre 2012
    Messages : 39
    Par défaut
    merci,
    ça j'ai compris,
    mais je m’aperçois que je suis en pleine confusion, je vais poster un exemple simple pour mieux me faire comprendre
    gégé

Discussions similaires

  1. Comment afficher le contenu d'une variable ?
    Par innova dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/06/2007, 11h45
  2. Afficher le contenu d'une variable
    Par MALAGASY dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 21/06/2007, 12h40
  3. Afficher le contenu d'une variable
    Par Tartenpion dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/06/2006, 15h03
  4. [C++/CLI]afficher le contenu d'une variable char
    Par stgi02 dans le forum C++/CLI
    Réponses: 3
    Dernier message: 24/04/2006, 20h38
  5. Afficher le contenu d'une variable
    Par mpat dans le forum ASP
    Réponses: 11
    Dernier message: 14/11/2005, 14h05

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