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 :

Passage des valeurs d'une form à l'autre [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 43
    Points : 16
    Points
    16
    Par défaut Passage des valeurs d'une form à l'autre
    Bonjour,
    J'ai une fenêtre ( forme 2) qui s'ouvre en cliquant sur un bouton qui se trouve dans une autre fenêtre ( forme 1), mon soucie c'est que je veux passer des valeurs de saisies de la forme 1 à la forme 2, j'ai fait ceci : mais malheureusement ça m'affiche dans la forme 2 vide pourtant j'ai saisi des valeurs dans la forme 1, voilà mon code dans le code de la forme 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private form1 form = new form1();
     
    textBox2.Text = form1.textBox1.Text;
    à savoir que j'ai modifier le champ "textBox1" de la forme 1 je l'ai définie pour Modifiers comme Internal

    Merci pour votre aide

  2. #2
    Membre à l'essai
    Inscrit en
    Février 2011
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 106
    Points : 14
    Points
    14
    Par défaut
    fait attention! tu as instancier un nouveau objet de Form1 , alors de nouveaux champs ... qui ne sont pas initialiser... alors bien-sur ils seront vides ...
    t as plusieurs façon de récupérer la valeur de textBox1 dans la form2.

    1 - tu déclare une variable ( static ) dans ta classe form1. et tu lui affecte le contenu de textBox1. au niveau du bouton. et dans Form2 tu fais textBox2.Text = form1.variableDeclaree.

    d autre facon existe mais debute par cela..

  3. #3
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 43
    Points : 16
    Points
    16
    Par défaut Suite
    J'ai crée une variable comme suit dans la forme 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public static string nom;
    et mm j'ai essayé : dans la forme 2 , il connais pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     textBox2.text = form1.nom ;
    je sais pas pourqu'oi ?

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Dans form1.nom, form1 est bien la classe, et non pas une instance de la classe?
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  5. #5
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Ce sujet est récurrent. Ici un article interessant sur le sujet.

    Bon dév.
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  6. #6
    Membre à l'essai
    Femme Profil pro
    Enseignant
    Inscrit en
    Février 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2012
    Messages : 43
    Points : 16
    Points
    16
    Par défaut Suite
    Oui ce problème est récurrent j'ai trouvé comment faire, je vous remercie beaucoup !!

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut passage donnee dune forme a une autre
    J'ai le meme probleme et je ne comprends rien dans les autres tuto j'aimerai avoir des exemple de bout de codes dans mon cas concret. Qui peut bien m'aider svp? je panique je sature cest ma misere

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    Salut,

    Pour celà il faudrait que tu nous expliques ton cas concret

    Mais sinon grossièrement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Form1 frm1 = new Form1();
    frm1.ShowDialog();
    // Le formulaire s'affiche, tu renseignes des zones de textes, disons tb1 et tb2...
    // Le code qui suit reprend une fois le formulaire fermé (à cause du ShowDialog qui est bloquant)
    Form2 frm2 = new Form2();
    // On va préremplir les TextBox, disons qu'elles s'appellent aussi tb1 et tb2
    frm2.tb1.Text = frm1.tb1.Text;
    frm2.tb2.Text = frm1.tb2.Text;
    frm2.ShowDialog();
    Pour avoir accès aux TextBox depuis "l'extérieur", il faut les mettre public ou internal (propriété "Modifiers").

    Voilà les grandes lignes...

    NB : je trouve cette façon de faire pas très belle : il conviendrait mieux d'utiliser un objet "dédié"pour celà. C'est à dire que dans Form1 tu aurais une propriété public du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class Form1 : Form
    {
         public MyClass MyObject{get;set;}
    ....
    }
    Le constructeur du Form2 prend en paramètre un MyClass et le code initialise les valeurs des textbox.
    Le code précédent devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Form1 frm1 = new Form1();
    frm1.ShowDialog();
    // Le formulaire s'affiche, tu renseignes des zones de textes, disons tb1 et tb2...
    // A la fermeture du formulaire tu renseignes ta propriété
    // Le code qui suit reprend une fois le formulaire fermé (à cause du ShowDialog qui est bloquant)
    Form2 frm2 = new Form2(frm1.MyObject);
    frm2.ShowDialog();

  9. #9
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour
    merci pour votre reponse. Alors voila je vous explique:
    Jai 2 formulaire, le 1er "login.cs" et le 2nd "modifCoord.cs".
    Dans login.cs, un utilisateur se log avec son comme LOGIN qu'il saisira dans une texteBox nommé textBoxLogin.Text, et il saisira ensuite son MP dans textBoxMp.Text.
    une fois les bonnes informations saisie, la 2e form "modifCoord" s'ouvre alors.
    Et dans ce cas je veux que le LOGIN et MP saisie dans "login.cs" s'affiche respectivement dans les textBox de modifCoord, qui sont nommé (texModifNom.text et textModifPrenom.text)

    Pour cela j'ai tenté de faire dans "modifCoord.cs":

    private string pourStockerLogin;
    private string pourStockerMotDePasse;

    public modifCoord(string unLogin, string unMotDePasse)
    {
    pourStockerLogin = unLogin;
    pourStockerMotDePasse = unMotDePasse;
    InitializeComponent();
    }
    jai donc modifier le constructeur.
    Et ensuite dans login.cs, jai instancier de cette maniere:

    modifCoord modification = new modifCoord(textBoxLogin.Text, textBoxPwd.Text);
    modification.Show();


    mais le pblm c'est que ya rien qui saffiche dans mes 2 textbox : texModifNom.text et textModifPrenom.text;

    ca fait une semaine que je suis bloqué et ca me demotive. je debute en c#.
    je vous remercie davance

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    Dans le code que tu montres, à aucun moment tu affectes les valeurs de pourStockerLogin et pourStockerMotDePasse à tes textboxes !

    2 solutions :

    Dans le constructeur de ton formulaire, après l'appel de la méthode InitializeComponent(), tu fais texModifNom.Text = pourStockerLogin, etc...

    Ou alors dans l'événement Load du formulaire, pareil tu fais l'affectation ci-dessus.

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Jaco67 Voir le message
    Dans le code que tu montres, à aucun moment tu affectes les valeurs de pourStockerLogin et pourStockerMotDePasse à tes textboxes !

    2 solutions :

    Dans le constructeur de ton formulaire, après l'appel de la méthode InitializeComponent(), tu fais texModifNom.Text = pourStockerLogin, etc...

    Ou alors dans l'événement Load du formulaire, pareil tu fais l'affectation ci-dessus.
    Ca marche!!! bien joué

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

Discussions similaires

  1. importer des valeur d une form a une autre
    Par Invité dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/03/2011, 16h55
  2. problème à passer des valeurs d'une form à l'autre
    Par gibea00 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 07/08/2007, 13h45
  3. Passage de valeur d'une page à l'autre
    Par DJuL- dans le forum ASP.NET
    Réponses: 21
    Dernier message: 20/07/2007, 09h59
  4. passer des valeurs d'une page à l'autre
    Par casaoui dans le forum ASP.NET
    Réponses: 8
    Dernier message: 13/06/2007, 17h55
  5. Réponses: 2
    Dernier message: 04/10/2005, 20h54

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