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#] Problème de communication entre formulaires


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut [c#] Problème de communication entre formulaires
    Bonjour à tous.

    J’ai deux formulaires Form1 et Form2 créé à partir de Form1.
    Form1 possède une TextBox Box et Form2 possède une ListBox Liste.

    Dans Form1 j’ai la procédure suivante qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
            void RemplieForm2ListePourChoix ()
            {
                Form2 UnForm2 = new TransForm();
     
                UnForm2.listBox1.Items.Clear();
     
                for (int i = 0; i < 10; i++)
                {
                    UnForm2.listBox1.Items.Add("item " + i.ToString());
                }
                UnForm.ShowDialog();
            }
    Je voudrais que lorsque l’utilisateur click OK, Form2 ajoute la string sélectionnée dans la liste.

    J’ai essayé la procédure suivante du bouton OK de Form2.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
           private void Ok_Click(object sender, EventArgs e)
            {
                string choix = (string)listBox1.SelectedItem;
     
                // Le début de mes problèmes…
     
                FormParent = this.Parent;
               ()this.Parent).Box.Text += choix;
     
            }
    Si vous avez une idée …

    Merci d’avance.

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Quelle est la question ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Quelle est la question ?
    Quand je Click sur le bouton OK du Form2 ouvert par Form1, je voudrais que Form2 envoie l'Item sélectionné dans Form2.Liste dans Form1.Box.Text.

    Merci pour le lien informationBox...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 547
    Points : 627
    Points
    627
    Par défaut
    Salut,

    ce n'est pas à la Form2 d'envoyer l'info mais à la Form1 de la recuperer. De fait, dans ta Form2, tu exposes une propriété, et une fois la Form2 fermée, tu la recuperes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    using (Form2 f2 = new Form2)
    {
        if (f2.ShowDialog(this) == DialogResult.Ok)
        {
            //Tu recuperes ta propriété et tu assignes la valeur dans ta Form1
        }   
    }

  5. #5
    Membre régulier
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Points : 106
    Points
    106
    Par défaut
    Salut,
    Une autre solution est de créer un event, par exemple UserChossedItem(Item choosedItem). Comme ca le createur de la form peut s'abonner à lévennement que tu déclenches quand l'item est choisi.
    (désolé pour le mélange de VB, je n'ai plus la syntaxe C# en tête pour les event)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    using (Form2 f2 = new Form2)
    {
        addhandler f2.UserChoosedItem, addressof UserChoosedItem_handler;
        f2.ShowDialog(this) // ou bien Show
    }

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 80
    Points : 66
    Points
    66
    Par défaut
    Merci à tous. A+

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

Discussions similaires

  1. [RMI] Problème de communication entre deux machines distantes
    Par georges_jung dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/04/2007, 18h03
  2. [c#] probléme de communication entre classe
    Par OpenGG dans le forum C#
    Réponses: 1
    Dernier message: 24/09/2006, 21h54
  3. Problème de communication entre php et Laszlo(Tomcat)
    Par YUN59 dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 21/07/2006, 13h45
  4. Problème de communication entre C# et ASP
    Par Prowlx dans le forum ASP
    Réponses: 1
    Dernier message: 19/07/2006, 17h37
  5. Problème de communications entre threads
    Par maya09 dans le forum Windows
    Réponses: 1
    Dernier message: 22/02/2006, 22h18

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