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 :

Récupérer valeures de Textbox d'un autre form to listbox du main form


Sujet :

C#

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Récupérer valeures de Textbox d'un autre form to listbox du main form
    Bonjour à tous,
    Je débute en C# et j'ai besoin d'un petit coup de main
    J'ai créer un main form qui par l'appui sur un bouton1 ouvre un form2, dans ce form2 j'ai 1 textbox que l'utilisateur doit remplir, j'aimerais savoir quelle est la commande qui, par appui d'un bouton2 sur la form2 pourrait m'ajouter la valeure de la textbox dans la listbox de la form1
    J'ai essayer quelques commandes mais au final je n'y suis pas arrivé...
    J'attend vos conseils avec impatience, merci

  2. #2
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Plusieurs façon de le faire, par exemple :
    • C'est la form2 qui va setter les valeurs dans la form1
    • C'est la form1 qui va récupérer les valeurs de la form2
    Prenons le second cas. Il faut que la form1 puisse accéder au textbox1 se trouvant dans la form2. On sait déjà que la form1 a la référence de la form2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Code se trouvant dans le handler click de ton bouton dans la form1
    Form2 maForm = new Form2();
    maForm.ShowDialog(this); // l'objet maForm est la référence vers form2
    Ton but est de pouvoir faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listbox.Items.Add(maForm.TextBox1);
    Seul problème, le textbox1 dans ta form2 est private, donc tu ne peux pas y accéder via la form1. Pour résoudre ton problème, il suffit que tu écrives dans form2 une propriété publique qui va renvoyer la référence de ton textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public TextBox TextBox1
    {
       get{ return this.textbox1; }
    }
    A partir de ce moment là, form1 aura accès au textbox qui se trouve dans la form2.
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse si rapide et précise Cardi, je test ça et je vous tiens au courant

    +1 Cardi

  4. #4
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Tu peux aussi passer par une vatiable publique dans ta form2 ou alors par un module mais je te déconseille le module car c'est pas "propre".

    Cependant la méthode de Cardi est tout à fait convenable bien que je ne l'utilise pas (je n'utilise pas non plus le module )
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  5. #5
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    Citation Envoyé par Aspic Voir le message
    Tu peux aussi passer par une vatiable publique dans ta form2 ou alors par un module mais je te déconseille le module car c'est pas "propre".

    Cependant la méthode de Cardi est tout à fait convenable bien que je ne l'utilise pas (je n'utilise pas non plus le module )
    Personnellement, je n'aurais pas utilisé cette solution non plus ou plutôt, je n'aime pas qu'une form manipule des contrôles qui sont dans une autre form, tout simplement pour une raison de clareté. Mais au final, cette solution reste simple à expliquer.

    Quelle était ta solution ?
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  6. #6
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par Cardi Voir le message
    Quelle était ta solution ?
    La solution de passer par les propriétés est la pluc claire à mon sens mais pas forcément la plus facile à mettre en place et encore moins facile de l'expliquer aux débutants

    Ma solution plus simple mais moi "correcte" (je ne parle pas de la solution module qui est mauvaise à mon sens) est tout simplement de déclarer une variable publique dans la form2 (dans son exemple) :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    Public MaVariablePublique as String
    Ensuite quand j'ouvre la form, pour passer une chaîne de caractère par exemple, je fais :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim m as new form2
    m.MaVariablePublique = TextBox1.Text
    m.show
    Et pour finir dans le load par exemple de la form2 :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox2.Text = MaVariablePublique
    Traduction en C# :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public string MaVariablePublique;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     form2 m = new form2();
         m.MaVariablePublique = TextBox1.Text;
         m.show();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox2.Text == MaVariablePublique;
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Rédacteur

    Avatar de Jérôme Lambert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2003
    Messages
    4 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 451
    Points : 14 357
    Points
    14 357
    Par défaut
    C'est comme ça que je fais aussi, je préfère passer par des variables plutôt que de manipuler des contrôles d'une fenêtre x dans une fenêtre y
    Jérôme Lambert
    Développeur, Architecte, Rédacteur & Fan technologies Microsoft
    Ma boite informatique | Mon profil LinkedIn

  8. #8
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Citation Envoyé par Cardi Voir le message
    C'est comme ça que je fais aussi, je préfère passer par des variables plutôt que de manipuler des contrôles d'une fenêtre x dans une fenêtre y
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. [Débutant] Récupérer la valeur du textbox d'une autre forme !
    Par zodiag dans le forum VB.NET
    Réponses: 7
    Dernier message: 18/08/2011, 19h32
  2. Réponses: 4
    Dernier message: 06/12/2010, 12h08
  3. Réponses: 21
    Dernier message: 22/05/2008, 16h51
  4. Recuperation La valeur de textBox dans un autre Form
    Par FITRI dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/02/2008, 17h16
  5. récupérer valeur d'une page à l'autre
    Par Echizen1 dans le forum Access
    Réponses: 1
    Dernier message: 24/09/2006, 11h10

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