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 :

communication entre 2 forms


Sujet :

Windows Forms

  1. #1
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut communication entre 2 forms
    Salut tt le monde ;

    je suis debutant en dev , j'ai un petit probleme que je n'arrive pas a resoudre , donc j'ai 2 form , le 1er (MAIN) contient 2 TextBox ( txt1 , txt2 ) et 2 Boutons ( btn1 , btn2 ), le 2eme contient 1 TextBox ( txt3 ) et 1 Bouton ( btn3 ) . je veux que si je clique sur btn1 puis sur btn3 le txt1 prend la valeur de txt3 , et meme si je clique sur btn2 puis sur btn3 le txt2 prend la valeur de txt3. et si c'est possible la meme question pour 2 ListView different .

    Merci d'avance ;

  2. #2
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    Juin 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 130
    Points : 115
    Points
    115
    Par défaut
    Bonjour,
    je suppose que tu appel ta form2 depuis la form1.
    Lorsque tu initialise ton objet form2 tu lui passe en paramètre l'élément this qui te permettra d'avoir accès à tes variables et méthodes publics de la form1 depuis la form2 et donc tu pourra initialiser tes textbox.

  3. #3
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut Re :
    Salut "Olman"

    pardon , mais peux-tu me donner un exemple sur mon cas . ( je suis si tu veux dire "0" dans le dev)


    merci

  4. #4
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    Juin 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 130
    Points : 115
    Points
    115
    Par défaut
    Ok pas de souci!

    Alors dans ta form principale tu devrais avoir quelque chose comme ca:
    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
     
    private Form2 ma_form2; // pour faire appel à la deuxième form
    public int val_bouton; // pour savoir quel bouton est appuyé
     
    private void button1_Click(object sender, EventArgs e)
    {
             val_bouton = 1;
    }
    private void button2_Click(object sender, EventArgs e)
    {
             val_bouton = 2;
    }
    private void button3_Click(object sender, EventArgs e)
    {
             ma_form2 = new Form2(this); // tu initialise l'objet form2 avec en paramètre ta form principale
    }
    Ensuite dans ta form2 tu dois avoir un truc comme ca:
    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
     
    private Form1 form_principale;
     
    public FormCVtheque(Form1 ma_form)
    {
        InitializeComponent();
        form_principale = ma_form;
    } 
     
    private void button3_Click(object sender, EventArgs e)
    {
        if (form_principale.val_bouton == 1)
             form_principale.textbox1.Text = textbox3.Text;
       else if (form_principale.val_buton == 2)
             form_principale.textbox2.Text = textbox2.Text;
    }
    Pour avoir les méthodes click il te sufit de double cliquer sur tes bouton.
    Il faut aussi que tu ailles dans le form1.designer.cs pour changer les lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private TextBox textbox1;  // remplacer private par public
    private TextBox textBox2;  // remplacer private par public
    J'y ai fais de tête car je n'ai pas Visual sous les yeux, donc à un ou deux point près ca doit marcher!

  5. #5
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut merci
    Merci "OLman" ;

    a cause de toi mon probleme est resolu , mais il y a un petit point , si ma form contient 10 TextBox donc je suis obligé de passer par if ...else..if... , y a-t-il un moyen pour indexer les TextBox (par ex : txt1 --> (1) , txt2 --> (2)) et puis (index).text= "??" . si c'est pas clair je peux reexpliquer

    re merci pour ton aide.

  6. #6
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    Juin 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 130
    Points : 115
    Points
    115
    Par défaut
    De rien.

    Pour ton problème, moi je rentrerais le nom des textbox dans un tableau d'objet. Et ensuite tu peux le parcourir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ArrayList ma_list = new ArrayList();
    ma_list.Add(textbox1); // le problème s'est qu'il faut les rentrer à la main
     
    // parcours de la liste
    foreach (TextBox textbox in ma_list)
    {
       textbox.Text = textbox3.Text;
    }

  7. #7
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    merci encore "OLman"

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

Discussions similaires

  1. Communication entre windows form app et android
    Par tiloup367 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/09/2014, 01h03
  2. communication entre un Form et un UserControl
    Par tmerigon dans le forum C#
    Réponses: 7
    Dernier message: 02/04/2010, 09h28
  3. [débutant] communication entre 2 form
    Par isoman dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/12/2008, 14h41
  4. Communication entre une Form et une boite de dialogue
    Par mhamdi45 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/10/2008, 10h06
  5. [VB.NET] Communication entre forms
    Par alex69 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/06/2005, 11h27

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