Forum Clubic

Combobox : tester le texte (C++)

Bonjour !

Ca fait relativement longtemps que je fais du C/C++, mais j’en suis encore dans mes debuts avec Windows.Form.

Le but de mon programme est de calculer la valeur d’une resistance en appliquant les couleurs et en calculant ensuite sa valeur.

Une petite image sera plus clair : http://img135.imageshack.us/img135/2715/programmev.png

Uploaded with ImageShack.us

Donc je dois associer un texte de la combobox1 (bande 1) dont les items sont differentes couleurs (Noir, Rouge, Orange, Jaune, etc…) au fillColor de du rectangleShape2.

Probleme : j’ai aucune idee de comment ecrire ca !

Je dois tester avec un “if”, oui, mais c’est justement la condition qui ne semble pas fonctionner.

J’ai essayer le code qui suit, mais non plus, sans succes.

private: System::Void comboBox1_SelectedIndexChanged(System::Object^  sender, System::EventArgs^  e) {
			 
			 if(comboBox1->SelectedText=="Noir")
			 {
			 rectangleShape2->FillColor=Color::Black;
			 }
			 

Merci de votre aide !!!

C’est du C++/CLI apparemment ?

Qu’est-ce qui ne marche pas, tu as une erreur ou c’est juste la couleur qui ne change pas ? Dans Visual Studio tu peux mettre un point d’arrêt sur la ligne if(comboBox1->SelectedText==“Noir”) puis exécuter le code pas à pas pour comprendre ce qui ne va pas.

Salut !

Merci !!!

Oui c’est du CLI !

Je n’ai aucune erreur dans Visual Studio. La couleur ne change pas :frowning: Je suis sur que c’est ma condition dans le IF qui ne fonctionne pas :frowning:

Merci !!!

Essaie l’exécution pas à pas :slight_smile:

Clique dans la marge à côté de la ligne “if(comboBox1->SelectedText==“Noir”)”. La ligne va être surlignée en rouge. Lance l’exécution, et quand ce code va être exécuté le programme va se mettre en pause et la ligne va être surlignée en jaune. Passe alors la souris sur comboBox1->SelectedText pour vérifier sa valeur.

Si c’est du C++, est ce que l’opérateur “==” est bien surchargé et est-ce que tu as bien une comparaison ?

Finallement, jun bon ami a moi m’a montrer une methode. On a creer un tableau ( ArrayList ) avec les couleurs.

Puis avec cette ligne :

rectangleShape2->FillColor = (Color) this->resistance[comboBox1->SelectedIndex]; 

On appel les couleurs. Toutefois, il faut que ca reste dans le meme ordre, puisque c’est la position dans l’index.

Merci !!! :jap: