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 :

Acceder a une TextBox qui se trouve sur une Autre Form


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut Acceder a une TextBox qui se trouve sur une Autre Form
    Je vx ecrire "Hello World" dans une TextBox1 qui se trouve sur Form2
    a partir d'un Button1 qui se trouve sur Form1.

    Merci D'avance pour votre reponces ...

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2007
    Messages : 31
    Points : 33
    Points
    33
    Par défaut
    soit tu mets ta textbox en public
    soit tu fais des accesseurs

    et après dans l'evenement de ton bouton
    Form2.textbox1.text="blablabla";

    bon courage
    costik

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Points : 47
    Points
    47
    Par défaut
    Moi je l'encouragerai à mettre des accesseurs et non pas mettre sa textbox en public :s.

    Tu pourrais avoir un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public string TextBoxText
    {
    	get { return textBox1.Text; }
    	set { textBox1.Text = value; } 
    }
    Que tu utiliserais alors comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    form2.TextBoxText = "Hello World";

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par costik56100
    soit tu mets ta textbox en public
    soit tu fais des accesseurs

    et après dans l'evenement de ton bouton
    Form2.textbox1.text="blablabla";

    bon courage
    costik
    Merci pour votre réponses

    Form2.textbox1.text="blablabla"; ne travaille pas

    Pouvez vous me donner une exemple

  5. #5
    Membre habitué Avatar de Mourad
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 152
    Points : 161
    Points
    161
    Par défaut
    lis la doc et cherches sur le forum
    il n'y a pas de solution sans problème.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Février 2007
    Messages : 31
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par An0d
    Moi je l'encouragerai à mettre des accesseurs et non pas mettre sa textbox en public :s.

    Tu pourrais avoir un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public string TextBoxText
    {
    	get { return textBox1.Text; }
    	set { textBox1.Text = value; } 
    }
    Que tu utiliserais alors comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    form2.TextBoxText = "Hello World";
    je suis d'accord c'est plus propre

    sinon il y a des FAQ la dessus
    a+
    costik

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par costik56100
    je suis d'accord c'est plus propre

    sinon il y a des FAQ la dessus
    a+
    costik
    Oui, Cool mais avec une petite remarque
    Form2.TextBoxText="Hello World";
    ne travaille pas

    et Form2 f = new Form2();
    f.TextBoxText = "Hello World";
    ça marche.

    Mais je crois que ce code travaille lorsque je crée une instance de ma Form2.

    supposons que la Form2 et crée avant la Form1
    et je vx acceder a la Form2 d'apres la Form1.

    et Merci pour votre colaboration.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    si tu arrive a accéder à ta forme(que l'on va nommer f2 comme variable), pour accéder à ton control tu peut faire :

    Control[] tabControl = f2.Controls.Find("nomControl",true);

    TextBox tb = (TextBox)tabControl[0];

    du coup tu a accès a ta textBox à partir de ta form 1

    Par contre si tu n'arrive pas à récupérer ta form2 à partir de la form1 , si Form1 est ouverte à partir de Form2 , tu peut lui faire des accèsseur sur Form1 et lui passer ta Form2 en paramètre

    Citation Envoyé par Sur Form1
    private Form _form2;
    public Form _Form2
    {
    get{....}
    set{....}
    }

    Citation Envoyé par Dans le code du clic du bouton de Form2 permettant d'afficher Form1
    Form1 f1 = new Form1();
    //this étant ta form2
    f1._form2 = this;

    f1.Show();
    et par conséquent dans le clic sur ton bouton de la Form1 tu tappe:

    Citation Envoyé par Dans le code de clic du bouton de Form1
    Control[] tabControl = this._form2.Controls.Find("nomControl",true);

    TextBox tb = (TextBox)tabControl[0];

    messageBox.ShowDialog(tb.text);

    et du coup t'a pu besoin de tes accesseur qui finiront par pourrir ta form si tu doit accéder à beaucoup de control.

    j'espère ne pas avoir répondu à coté de la plaque et que cela t'aidera

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Lefauve
    si tu arrive a accéder à ta forme(que l'on va nommer f2 comme variable), pour accéder à ton control tu peut faire :

    Control[] tabControl = f2.Controls.Find("nomControl",true);

    TextBox tb = (TextBox)tabControl[0];

    du coup tu a accès a ta textBox à partir de ta form 1

    Par contre si tu n'arrive pas à récupérer ta form2 à partir de la form1 , si Form1 est ouverte à partir de Form2 , tu peut lui faire des accèsseur sur Form1 et lui passer ta Form2 en paramètre

    Form1 f1 = new Form1();
    //this étant ta form2
    f1._form2 = this;

    f1.Show();

    et par conséquent dans le clic sur ton bouton de la Form1 tu tappe:


    Control[] tabControl = this._form2.Controls.Find("nomControl",true);

    TextBox tb = (TextBox)tabControl[0];

    messageBox.ShowDialog(tb.text);



    et du coup t'a pu besoin de tes accesseur qui finiront par pourrir ta form si tu doit accéder à beaucoup de control.

    j'espère ne pas avoir répondu à coté de la plaque et que cela t'aidera
    Merci pour votre collaboration, mais malheuresement je comprends pas
    Vous pouvez donnez un exemple avec son code

    merci d'avance pour votre aide

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 50
    Points : 31
    Points
    31

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Mais qu'est ce que tu ne comprends pas, l'a pas l'air si compliqué mon code pourtant ?
    si c'est la variable _form2, elle corespond à on accesseur à la form appelante sur ta form appellée

    à peu de chose près un copier coller suffit normalement .

    Sinon j'ai regarder la FAQ de mstic, et c'est vrai qu'en utilsant le propriété Owner de ta form appelée, tu n'a pas besoin d'avoir d'accesseur concernat la form appelante sur la forme appelée

  12. #12
    Membre actif Avatar de neuropathie
    Inscrit en
    Janvier 2005
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 223
    Points : 201
    Points
    201
    Par défaut
    Citation Envoyé par le_contact
    Oui, Cool mais avec une petite remarque
    Form2.TextBoxText="Hello World";
    ne travaille pas

    et Form2 f = new Form2();
    f.TextBoxText = "Hello World";
    ça marche.

    Mais je crois que ce code travaille lorsque je crée une instance de ma Form2.

    supposons que la Form2 et crée avant la Form1
    et je vx acceder a la Form2 d'apres la Form1.

    et Merci pour votre colaboration.
    Normal que ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form2.TextBoxText="Hello World"
    ne marche pas si tu ionstancies pas au début ta form2

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par neuropathie
    Normal que ton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Form2.TextBoxText="Hello World"
    ne marche pas si tu ionstancies pas au début ta form2

    Hmmmm
    et la solution ?!

  14. #14
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    peut tu nous expliqué comment ton application fonctionne et pourquoi ta Form2 n'est pas instanciée dès le debut? et meme si elle n'est pas instanciée et affichée, ça ne faut rien d'écrire sur ton TextBox

  15. #15
    Membre du Club Avatar de ferradji
    Inscrit en
    Septembre 2005
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 121
    Points : 64
    Points
    64
    Par défaut
    Voila je vais te donner une solution pas à pas mais pas la plus intéressante

    d'abord il faut créer la form2 : clic droit sur ton projet >> add >> Windows Form . et lui ajouter un textbox bien sur

    puis tu ajoute un bouton dans la form1 et tu cliques deux fois sur ce dernier pour que la partie code s'affiche ( c'est l'évenement par défaut ) .


    Remarque :
    Avant de rentrer la code tu clique dans l'exploreur de solution sur le fichier
    Form2.designer.cs ( qui se trouve dans l'arborescence de Form2.cs) et tu changes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private System.Windows.Forms.TextBox textBox1;
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public System.Windows.Forms.TextBox textBox1;
    Donc le rendre public

    Et tu rentres dans le code du bouton1:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    private void button1_Click(object sender, EventArgs e)
            {
                Form2 f1 = new Form2();
                f1.textBox1.Text = "Hello Ferradji !!";
                f1.Show();
            }
    Et tu exécutes.

    J’espère que j'ai répondu à ta question !

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Merci pour vos réponses

Discussions similaires

  1. [PHP 5.2] Appel d'une page qui se trouve sur un autre site.
    Par youpii dans le forum Langage
    Réponses: 6
    Dernier message: 01/10/2010, 11h39
  2. Réponses: 3
    Dernier message: 07/04/2008, 14h51
  3. Appel à une fonction qui se trouve sur une autre page
    Par pierrot10 dans le forum Langage
    Réponses: 4
    Dernier message: 21/06/2007, 12h36
  4. [HTML] Shape area sur une image qui se trouve dans un div
    Par Ryan Sheckler dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 19/06/2007, 17h48
  5. Réponses: 7
    Dernier message: 23/08/2006, 18h40

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