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++/CLI Discussion :

Utilisation comboBox et textbox


Sujet :

C++/CLI

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut Utilisation comboBox et textbox
    Bonjour , Je fais une petite appli avec des combox et des textbox voici un exemple de fonctionnement avec des if qui fonctionne tres bien mais qui est trop long a faire car les combinaisons result et result2 sont nombreuses:
    aurriez vous une autre idée de codes ou fonctions ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    			String^ result = comboBox1->Text;
    			String^ result2 = comboBox2->Text;
    			if((result == L"arbre")&&(result2 == L"printemps"))
    			{
    			textBox1->Text = L"Taille des arbres";
    			}
    			else 
    			{
    			textBox1->Text = L"Pas de Message";
    			}

  2. #2
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    bon, on voit ici que tu compares à "arbre" et à "printemps". J'imagine que ce sont les deux premiers membres de ton dictionnaire. Et j'imagine que la valeur "Taille des arbres" est stockée dans ton troisième membre.

    Ce que je te propose c'est de boucler sur ton dictionnaire (ou ta liste) qui contient tes objets ThreeStrings et de comparer tes textobx à ces valeurs :

    ex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    for each(ThreeStrings  ^monObjet in maListDObjet)
    {
        if (monObjet->membre1 == textbox1->Text && monObjet->membre2 == textbox2->Text)
        {
             textbox3->Text = monObjet->membre3;
        }
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Bonjour nico-pyright(c),
    Non ce n'est pas le même dico que le précédent post si non je m'en serai sorti
    pour faire simple : dans une fenêtre ou se trouve des Tabepage ,
    dans une j'ai mon premier dico dans l'autre ma seconde Fonction .
    Cette fonction est celle de mon 1er post c'est a dire 2 comboBox et une textBox.
    exemple de fonctionnement (regarde tout le code stp ) dans ce code il n'y a pas d'erreur de ma part et en compilant avec un dico il y aurai un doublon pour TexteA et des if ce serai trop long ,il doit bien avoir une fonction pour ce genre de fonction :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
                            String^ result = comboBox1->Text;
    			String^ result2 = comboBox2->Text;
    			if((result == L"texteA")&&(result2 == L"message1"))
    			{
    			textBox1->Text = L"Taille des arbres";
    			}
    			else if((result == L"texteA")&&(result2 == L"message3 "))
    			{
    			textBox1->Text = L"Taille des haies";
    			}
    			else if((result == L"texteA")&&(result2 == L"message2 "))
    			{
    			textBox1->Text = L"TexteZ";
    			}
    			else if((result == L"texteB")&&(result2 == L"message4 "))
    			{
    			textBox1->Text = L"TexteY";
    			}
    			else if((result == L"texteB")&&(result2 == L"message1 "))
    			{
    			textBox1->Text = L"TexteU";
    			}
    			else if // ..............
    			{
    			// ..........etc mais trop de if 
    			}
    en esperant que tu ai compris

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    pour pouvoir factoriser du code, il faut une certaine logique
    ici, je n'en vois pas vraiment dans les facons de comparer, le mieux que je peux te proposer est de réunir les chaines en dur dans une collection et d'itérer sur elle pour les comparer

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    je comprend tres bien , aurai tu un lien ou exemple sur le sujet ?

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    on pourrait imaginer un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	array<String ^> ^tab1 = gcnew array<String ^> { "texteA", "texteA", "texteA", "texteB", "texteB"};
    	array<String ^> ^tab2 = gcnew array<String ^> { "message1", "message3", "message2", "message4", "message1"};
    	array<String ^> ^tab3 = gcnew array<String ^> { "Taille des arbres", "Taille des haies", "TexteZ", "TexteY", "TexteU"};
     
    	for (int i = 0 ; i < tab1->Length ; i++)
    	{
    		if (tab1[i] == result && tab2[i] == result2)
    		{
    			textBox1->Text = tab3[i];
    		}
    	}

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Bonsoir , je viens d'essayer , les textes correspondent bien au comboBox il n'y a aucune erreur dans le compilo .Voici le code :
    Le fait de declarer des phrases entières dans ce tableau va gêner ?
    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
    17
    18
    19
    20
     
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    			String^ result = comboBox1->Text;
    			String^ result2 = comboBox2->Text;
    			array<String ^> ^tab1 = gcnew array<String ^> { "texte2", "texte4", "texteM", "textec", "texteB"};
    			array<String ^> ^tab2 = gcnew array<String ^> { "message5", "message6", "message2", "message4", "message1"};
    			array<String ^> ^tab3 = gcnew array<String ^> { "Taille des arbres", "Taille des haies", "TexteZ", "TexteY", "TexteU"};
     
    			for (int i = 0 ; i < tab1->Length ; i++)
    		{
    		if (tab1[0] == result && tab2[0] == result2)
    		{
    			textBox1->Text = tab3[2];
    		}
    			else 
    			{
    			textBox1->Text = L"Pas de message ";
    			}
    			}
    		}

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Je me retrouve toujours avec les conditions if ça ne marchera pas .
    Comme je te l'ai posté plus haut ce sont des phrases et je doute que de cette manière ça fonctionne.

  9. #9
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    si c'est une comparaison exacte, ca ne gene pas

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    est il possible d'afficher plusieurs valeur en même temp?
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    {
    			textBox1->Text = tab3[2] , tab3[3]; // valeur 2 et 3 du tableau
    		}

  11. #11
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    oui
    avec String::Format, n'hésite pas à regarder dans msdn

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Je sais qu'il y a msdn mais ne sachant quoi chercher ça ne m'avance a rien
    j'ai codé comme tu dis avec string::format mais je n'arrive pas a faire le saut de
    ligne ,le code ci-dessous fonctionne mais sans saut de ligne juste un retour chariot .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    			result4 = String::Format("{0}\r\n {1}\r\n {2}",
    			tab3[0],
    			tab3[1],
    			tab3[5);

  13. #13
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    pour passer à la ligne, utilise

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Bonjour , j'ai consulter msdn mais sans succès je n'y arrive pas un seul retour chariot mais pas plus
    peus tu me mettre un exemple , merci encore
    @++

  15. #15
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    il faut le combiner avec l'écriture à la fin du textbox, voir dans la faq C++/CLI http://dotnet.developpez.com/faq/cpp...Box#carettoend

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    C'est ce que j'ai fait , du moins a ce que j'ai compris mais ça ne fonctionne pas .
    au plus simple j'ai fais comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    			textBox1->Text =result + Environment::NewLine;
    aucune erreur mais sans fonction.

  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
    Points : 16 075
    Points
    16 075
    Par défaut
    t'as mis le textbox en multi ligne ?

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Oui Oui il est en multi ligne .ca fonctionne sans saut de ligne avec \r\n .

  19. #19
    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
    Points : 16 075
    Points
    16 075
    Par défaut
    je me pers un peu

    quel est le code fautif, quelle est l'erreur encourue

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Points : 55
    Points
    55
    Par défaut
    Il n'y aucun code erreur a la compil c(est juste que dans la texBoox je n'ai pas de saut de ligne entres les texte de tab[1] , tab[2] et tab [3].
    voici le code employé :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #pragma endregion
    	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
    			String^ result = comboBox1->Text;
    			String^ result2 = comboBox2->Text;
    			String^ result4 = "";
    			array<String ^> ^tab1 = gcnew array<String ^> { "texte2", "texte4", "texteM", "textec", "texteB"};
    			array<String ^> ^tab2 = gcnew array<String ^> { "message5", "message6", "message2", "message4", "message1"};
    			array<String ^> ^tab3 = gcnew array<String ^> { "Taille des arbres", "Taille des haies", "TexteZ", "TexteY", "TexteU"};
     
    			result4 = String::Format("{0},{1},{2}",
    			tab3[0],
    			tab3[1],
    			tab1[1]);
    			for (int i = 0 ; i < tab1->Length ; i++)
    		{
    		if (tab1[0] == result && tab2[0] == result2)
    		{
    			textBox1->Text =result4 + Environment::NewLine;
    		}
    		else if (tab1[0] == result && tab2[1] == result2)
    		{
    			textBox1->Text = tab3[0],tab3[1];
    		}
    			else 
    			{
    			textBox1->Text = L"message d'erreur";
    			}
    			}
    		}
    };

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [C++]Utilisation d'une textBox
    Par Arnaud Malabeux dans le forum VC++ .NET
    Réponses: 12
    Dernier message: 11/01/2007, 20h52
  2. Probleme utilisation Combobox
    Par benahpets dans le forum MFC
    Réponses: 2
    Dernier message: 20/10/2006, 13h59
  3. faire communiquer une combobox et textbox
    Par aliosys dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 27/12/2005, 10h20
  4. Utilisation ComboBox et DBComboBox
    Par Isa31 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 28/09/2005, 07h18
  5. [VB.NET]Utilisation d'une TextBox
    Par cach dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/05/2005, 09h54

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