Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
850 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  2 Textbox 2 boutons 2 couleurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

2 Textbox 2 boutons 2 couleurs

n°2267199
Bilordi
Posté le 07-10-2015 à 06:03:10  profilanswer
 

Salut tout le monde
 
Je suis débutant en C# (j'ai fais un peu de C++ dans le temps ^^) et j'aurais voulu savoir comment faire ceci
 
J'ai deux Textbox (1 et 2) blanche au départ que je voudrais mettre de deux couleurs différentes (vert et rouge) en cliquant sur deux boutons (1 et 2).
 
Le choix de la Textbox (pour le changement de couleur) devrait pouvoir se faire en cliquant une fois la souris dessus.
 
J'ai réussi pour une Textbox mais c'est surtout dans le choix de la Textbox que ça se complique.
 
Pour une Textbox
 

Code :
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             this.textBox1.BackColor = System.Drawing.Color.Red;
  4.         }
  5.         private void button2_Click(object sender, EventArgs e)
  6.         {
  7.             this.textBox1.BackColor = System.Drawing.Color.Green;
  8.         }


 
Si quelqu'un peut m'aider merci à lui ou à elle!


Message édité par Bilordi le 07-10-2015 à 06:05:19
mood
Publicité
Posté le 07-10-2015 à 06:03:10  profilanswer
 

n°2267284
Bilordi
Posté le 08-10-2015 à 04:40:29  profilanswer
 

Je sais c'est pas évident ^^. Sinon quelqu'un peut il juste me dire comment sélectionner un textbox je vais essayer de me débrouiller pour le reste.  
 
Merci à vous.

n°2267305
deliriumtr​emens
sic transit intestinal...
Posté le 08-10-2015 à 12:02:21  profilanswer
 

Bon, il y a sans doute matière à faire autrement, mais l'idée.
 
Tu te crées une variable privée pour gérer la TextBox sélectionnée
 

Code :
  1. private TextBox selectedTextBox_;


 
Tu ajoutes un événement sur

Code :
  1. GotFocus // ou Enter, à toi de voir quel événement doit lancer le choix de la TextBox

sur tes 2 TextBox, qui appellent une méthode commune
 
 

Code :
  1. textBox1.GotFocus +=OnFocus;
  2. textBox2.GotFocus +=OnFocus;


 
La méthod OnFocus de permet de setter la TextBox sélectionnée.

Code :
  1. private void private void OnFocus(object sender, EventArgs e)
  2. {
  3.    selectedTextBox_ = (TextBox)sender;
  4. }


 
Ensuite, dans tes méthodes onclick, tu n'as qu'à remplacer  

Code :
  1. textBox1


par  

Code :
  1. selectedTextBox_


Message édité par deliriumtremens le 08-10-2015 à 12:06:21
n°2267370
Bilordi
Posté le 08-10-2015 à 22:19:48  profilanswer
 

Je vais essayer ça je te tiens au courant!  
 
Merci pour la contribution

n°2267374
Bilordi
Posté le 09-10-2015 à 04:47:41  profilanswer
 

Alors voilà au final le code que j'ai.  
 
 

Code :
  1. private TextBox selectedTextBox_;
  2.         private void OnFocus(object sender, EventArgs e)
  3.         {
  4.             selectedTextBox_ = (TextBox)sender;
  5.         }
  6.         private void textBox1_TextChanged(object sender, EventArgs e)
  7.         {
  8.             textBox1.GotFocus += OnFocus;
  9.         }
  10.         private void textBox2_TextChanged(object sender, EventArgs e)
  11.         {
  12.             textBox2.GotFocus += OnFocus;
  13.         }
  14.         private void button1_Click(object sender, EventArgs e)
  15.         {
  16.             this.selectedTextBox_.BackColor = System.Drawing.Color.Red;
  17.         }
  18.         private void button2_Click(object sender, EventArgs e)
  19.         {
  20.             this.selectedTextBox_.BackColor = System.Drawing.Color.Green;
  21.         }


 
 
Après avoir corrigé des erreurs (syntaxe private void était là deux fois j'avais pas vu et je comprenais pas ^^) quand je lance le débogage je vois bien mes 2 textbox et mes 2 boutons
 
http://img11.hostingpics.net/pics/288163Sanstitre2.jpg
 
je met mon pointeur dans une textbox je clic, et ensuite je reclic sur un bouton mais j'ai ce message
 
http://img11.hostingpics.net/pics/500927Sanstitre1.jpg
 
J'avoue ne pas avoir compris le truc onfocus gotfocus (je comprend le principe mais pas le fonctionnement), si tu pouvais éclairer ma lanterne! ^^


Message édité par Bilordi le 09-10-2015 à 04:51:23
n°2267375
Bilordi
Posté le 09-10-2015 à 05:12:30  profilanswer
 

Avec Enter au lieu de TextChange je n'ai plus d'erreur, mais rien ne se passe pas de changement de couleur quand je fais entrer et que je clic sur un bouton snif : (
 

Code :
  1. private TextBox selectedTextBox_;
  2.         private void OnFocus(object sender, EventArgs e)
  3.         {
  4.             selectedTextBox_ = (TextBox)sender;
  5.         }
  6.         private void textBox2_Enter(object sender, EventArgs e)
  7.         {
  8.             textBox2.GotFocus += OnFocus;
  9.         }
  10.         private void textBox1_Enter(object sender, EventArgs e)
  11.         {
  12.             textBox1.GotFocus += OnFocus;
  13.         }
  14.         private void button1_Click(object sender, EventArgs e)
  15.         {
  16.             this.selectedTextBox_.BackColor = System.Drawing.Color.Red;
  17.         }
  18.         private void button2_Click(object sender, EventArgs e)
  19.         {
  20.             this.selectedTextBox_.BackColor = System.Drawing.Color.Green;
  21.         }

n°2267380
deliriumtr​emens
sic transit intestinal...
Posté le 09-10-2015 à 09:08:22  profilanswer
 

textBox1.GotFocus ne doit pas apparaître dans la méthode textBox1_Enter, hein, l'abonnement aux événements se fait avant !
 
Ton code (là c'est du Winforms que je te donne, je ne sais pas si c'est ce que tu fais, mais le principe sur ces cas reste le même) devrait ressembler à ça.
 
Après, si tu utilise le designer, la partie "Suscribe" pourrait être dans la classe partielle correspondante générée.
 
       

Code :
  1. private TextBox selectedTextBox_;
  2.         public Form1()
  3.         {
  4.             InitializeComponent();
  5.             Suscribe();
  6.            //dans le constructeur, on choisit une des textbox comme "sélectionnée", pour éviter les Null Ref Exception
  7.             selectedTextBox_ = textBox1;
  8.         }
  9.         private void Suscribe()
  10.         {
  11.            //on "abonne" nos textBox à l'événement "enter"
  12.             textBox1.Enter += OnFocus;
  13.             textBox2.Enter += OnFocus;
  14.         }
  15.         private void OnFocus(object sender, EventArgs e)
  16.         {
  17.             selectedTextBox_ = (TextBox)sender;
  18.         }
  19.         private void button1_Click(object sender, EventArgs e)
  20.         {
  21.             selectedTextBox_.BackColor = Color.Red;
  22.         }
  23.         private void button2_Click(object sender, EventArgs e)
  24.         {
  25.             selectedTextBox_.BackColor = Color.Green;
  26.         }


Message édité par deliriumtremens le 09-10-2015 à 09:10:21
n°2267475
Bilordi
Posté le 10-10-2015 à 04:11:56  profilanswer
 

J'ai recopier exactement le code ça me fait une erreur (en fait deux) sur textbox1 et 2 il me dit ceci
 
http://img11.hostingpics.net/pics/462047Sanstitre1.jpg
 
Edit:
 
Non en fait j'ai plus d'erreur (j'ai effacé et recommencé) j'arrive à lancer le débogage mais rien ne se passe mes box ne changent pas de couleur même si je fais entrer.
 


Message édité par Bilordi le 10-10-2015 à 04:32:24

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  2 Textbox 2 boutons 2 couleurs

 

Sujets relatifs
selectionner le texte d un textbox ou positionner curseuTest sur les couleurs des cellules
Aligner une textBox ou ComboBox au reste du texte dans WordFORM TEXTBOX remplissage auto
Recuperer valeur radio boutton placer lien url sans reset pageTextBox vers premiere celulle vide
[VBA] Outlook : Creation d'une textboxLien avec lettres de différentes couleurs
Problème de comparaison textbox et cellule active[XUL] Manipulation textbox et value
Plus de sujets relatifs à : 2 Textbox 2 boutons 2 couleurs


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR