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

MFC Discussion :

[VC++.net]textbox


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut [VC++.net]textbox
    Salut,
    comment peut-on utiliser une variable appartenant à une classe dans une autre classe?
    en fait, j'ai besoin du contenu d'un textbox situé dans une form1 pour l'utiliser dans le form2.
    merci

  2. #2
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Je pense qu'il est très urgent que tu modifie le titre de ton post et que tu ailles faire un tour sur la faq...

  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Merci d'éviter ce genre de titre à l'avenir et d'éviter de poser plusieurs fois la question

  4. #4
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    Merci d'apporter des précisions, MFC ? .Net ?

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Citation Envoyé par nico-pyright(c)
    Merci d'apporter des précisions, MFC ? .Net ?
    Tout d'abord je m'excuse.
    En effet j'utilise VC++.Net 2003 et mon application est en .net

  6. #6
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut

    Le principe est de passer une référence de ta première classe à la deuxième. Tu peux t'inspirer de cet exemple dans la faq, mais à adapter au vieux C++.Net http://dotnet.developpez.com/faq/cpp...sspublicmethod

  7. #7
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Je vais vous expliquer mon problème plus clairement j'ai créee deux Forms: le 1er contient un textbox1 et un boutton et le 2ème contient aussi des textbox...
    dans le deuxième form j'ai besoin du textbox1->text cela n'est pas possible car textbox1 est un membre privé.
    J'epère que vous me comprennez.

  8. #8
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    j'avais bien compris
    J'imagine que c'est ta form1 qui crée et affiche la form2, c'est pour ca qu'à ce moment, je te propose de passer la form1 en paramètre, ainsi, il ne te reste plus qu'à faire un accesseur public qui te renvoit la valeur de la textbox

  9. #9
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par aziziti
    J'epère que vous me comprenez.
    Maintenant oui

    Et bien il te suffit de créer une méthode publique dans 2eme form qui récupère le contenu de ton textBox1.

    [edit]oui, suis les conseils de nico-pyright(r), c'est plus précis[/edit]

  10. #10
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Citation Envoyé par nico-pyright(c)
    j'avais bien compris
    J'imagine que c'est ta form1 qui crée et affiche la form2, c'est pour ca qu'à ce moment, je te propose de passer la form1 en paramètre, ainsi, il ne te reste plus qu'à faire un accesseur public qui te renvoit la valeur de la textbox
    S'il vous plaît pouvez vous m'expliquer encore car j'ai pas compris votre réponse
    merci bien

  11. #11
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    Personnellement, j'ai besoin de plus de précisions pour te répondre.
    Comment sont créés tes form1 et form2?

  12. #12
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    tu crées une méthode publique dans ta form1 qui va renvoyer la valeur de ton textbox, genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public:
    String * GetTextBox1()
    {
        return TextBox1->Text;
    }
    Ensuite, dans ta form2, tu appelles cette méthode depuis la form1 passée en paramètres, comme expliqué dans la faq

    Ce qui fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String * chaine = new String(maform1->GetTextBox1());

  13. #13
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Citation Envoyé par nico-pyright(c)

    Le principe est de passer une référence de ta première classe à la deuxième. Tu peux t'inspirer de cet exemple dans la faq, mais à adapter au vieux C++.Net http://dotnet.developpez.com/faq/cpp...sspublicmethod
    merci mais cette solution ne marche pas avec VS 2003
    avez vous une autre?
    merci

  14. #14
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Citation Envoyé par r0d
    Personnellement, j'ai besoin de plus de précisions pour te répondre.
    Comment sont créés tes form1 et form2?
    dans ma form1 il ya un bouton en cliquant sur ce bouton la form2 apparaît mais j'ai besoin de contenu d'un textbox de la form1 pour faire un certain calcul dans la form2.h
    je m'excuse et merci

  15. #15
    r0d
    r0d est déconnecté
    Membre expérimenté

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 288
    Billets dans le blog
    2
    Par défaut
    ok, et bien tu as plusieurs solutions. Je te propose celle-ci:
    1/ Tu rajoute une variable membre dans ta form2 de type const CString. Je l'appellerais m_strString. Elle servira à récupérer le contenu de l'edit de la form1.
    2/ Tu créé une méthode publique dans form2 qui permet de remplir m_strString:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void SetstrString(const CString& strString){m_strString = strString;}
    3/La création de ta form2, lorsque tu clique sur le bouton de ta form1, doit ressembler à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form2 form2;
    form2.DoModal();
    Et bien juste avant le DoModal(), il te suffit de récupérer le contenu de ton edit et de l'envoyer à ta form2. Ca devrait ressembler à qqchose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CString strTmp;
    monEdit.GetWindowText(strTmp);
    from2.SetstrString((const CString) strTmp);
    4/ Maintenant, tu a ta variable m_strString dans Form2 qui contient ce que tu souhaite, il te reste à en faire ce dont tu as besoin.

    Hope it helps.

  16. #16
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Citation Envoyé par r0d
    ok, et bien tu as plusieurs solutions. Je te propose celle-ci:
    1/ Tu rajoute une variable membre dans ta form2 de type const CString. Je l'appellerais m_strString. Elle servira à récupérer le contenu de l'edit de la form1.
    2/ Tu créé une méthode publique dans form2 qui permet de remplir m_strString:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void SetstrString(const CString& strString){m_strString = strString;}
    3/La création de ta form2, lorsque tu clique sur le bouton de ta form1, doit ressembler à cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Form2 form2;
    form2.DoModal();
    Et bien juste avant le DoModal(), il te suffit de récupérer le contenu de ton edit et de l'envoyer à ta form2. Ca devrait ressembler à qqchose comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CString strTmp;
    monEdit.GetWindowText(strTmp);
    from2.SetstrString((const CString) strTmp);
    4/ Maintenant, tu a ta variable m_strString dans Form2 qui contient ce que tu souhaite, il te reste à en faire ce dont tu as besoin.

    Hope it helps.
    merci beaucoup

  17. #17
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    t'as un projet Winforms (.net) ou MFC ?

  18. #18
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Merci tout le monde

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

Discussions similaires

  1. [vb.net] [textbox] pourquoi validating est appellée
    Par graphicsxp dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/11/2005, 11h09
  2. [VB.NET]TextBox lié a une ComboBox
    Par Diablo_22 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/06/2005, 15h03
  3. [VB.net] TextBox dans Repeater
    Par TekP@f dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/05/2005, 13h38
  4. [vb.net][textbox] Avoir un value field et un display field
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2005, 17h59
  5. [VB.NET] Textbox -> seulement des chiffres sans API?
    Par Pleymo dans le forum Windows Forms
    Réponses: 10
    Dernier message: 25/04/2005, 14h00

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