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 :

Débutant : passage valeur Form2->Form1


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 29
    Points : 29
    Points
    29
    Par défaut Débutant : passage valeur Form2->Form1
    Bonjour,

    Une question simple :

    j'ai un Form1 qui possède une textbox et un bouton qui ouvre un Form2

    private void button3_Click(object sender, EventArgs e)
    {
    Form2 menu = new Form2();
    menu.Show();
    }

    sur ce Form 2, j'entre une valeur dans une textbox ... ensuite je ferme ce formulaire et je veux faire passer cette valeur dans la textbox du Form1 ... (exemple simplifié)

    Comment faire ? Je n'arrive pas à accéder au form1 à partir du form2 ?

    J'ai déjà regardé dans ce forum mais je n'ai pas réussi à trouver quelque chose de simple dans ce cas.

    Merci de votre aide.

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Bonjour,
    Ces genres de post on été traité maintes fois sur le forum. Avec une recherche tu trouveras plein d'indices.
    Tu peux regarder ici
    ,ici ou encore ici

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 29
    Points : 29
    Points
    29
    Par défaut
    Merci de cette réponse mais j'arrive bien à passer une valeur du Form1 -> Form2 en utilisant la méthode suivante :

    ds le Form 2 :

    public void setTexte(string texte)
    {
    this.label1.Text = texte;
    }
    ds le Form 1:
    Form2 formu2= new Form2();
    formu2.Show();
    formu2.setTexte("hello");

    par exemple ...

    mais comment faire pour passer une info du Form2->Form1 ?

    si j'essaie d'utiliser la même méthode j'ai du mal pour appeler la méthode setTexte du Form 1 ...

    je crée le form1 comme suit :
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());

    ou
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Form1 formu = new Form1();
    ApplicationContext applicationContext = new ApplicationContext();
    applicationContext.MainForm = formu;
    Application.Run(applicationContext);

    pour pouvoir appeler mon Form1 formu ...
    mais je n'ai pas accès à formu.setTexte() à partir du Form2

    je suis complétement débutant en C# (j'apprends )...

    merci de votre aide.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 134
    Points : 92
    Points
    92
    Par défaut
    tu peux créer une propriété dans ta form 2 puis quand tu sort de ta form 2 tu récupère la valeur de ta propriété
    exemble
    dans ta form 2
    private string m_value;
    public string value
    {
    get
    {
    return m_value;
    }
    set
    {
    m_value = value;
    }
    }

    dans ta form 2 tu attribue une valeur a value:
    this.value = "tontexte";

    puis dans ta form1 comme tu a créer une nouvelle instance de form2 tu peux faire

    form2.showdialog();
    string "ta valeur" = form2.value

    voila

  5. #5
    Membre actif Avatar de g_tarik0010
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 186
    Points : 284
    Points
    284
    Par défaut
    Bonjour,

    Je sais pas si c'est une bonne idée, mais vu que la deuxieme forme est appelé depuis la premiere pourquoi ne pas passer par un evenement qui gerer au niveau de la premiere form

    Code Form2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //declaration d'un délégué personnalisé
    public delegate void TonEventHandler(String information);
     
    //declaration d'un délégué personnalisé
    public event TonEventHandler OnMyEvent;
    toujour dans la form2 mais cette fois dans le gestionnaire d'evenement qui declanche l'action

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Gestionnaire d'evenement du boutton form2_button1
    private form2_button1_Click(object sender, EventArgs e)
    {
    String info = textbox1.Text;
    OnMyEvent(info);
    }
    mtn dans la form1 lors de l'instanciation de la form2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //Instanciation de la form2
    Form2 frm = new Form2();
    //
    frm.OnMyEvent+=new TonEventHandler(frm_OnMyEvent);
     
    private void frm_OnMyEvent(String information)
    {
      //ton traitement
    }
    Enfin cette methode je l'ai toujours utilisé pour communiquer entre ma fenetre et son objet wrapper mais je sais pas si ca va t'aider

    Bonne journée

Discussions similaires

  1. [Débutant] Passage de valeurs
    Par SpecialCharacter dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 11/02/2008, 11h54
  2. Réponses: 2
    Dernier message: 21/07/2006, 18h40
  3. [Débutant] Passage par valeur d'un objet Corba
    Par peaceinpal dans le forum CORBA
    Réponses: 1
    Dernier message: 29/05/2006, 20h15
  4. [ JSP ][ Débutant ] Passage d'objet par un forward
    Par captainpouet dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 08/04/2004, 10h33
  5. [débutante] passage de JBuilder à Eclipse
    Par phoebe dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 05/04/2004, 15h28

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