Bonjour,
j'ai une Form sur laquelle j'ai mis des textBox qui me servent à filtrer une DataGridView.
Les filtres sont appélés via l'évènement TextChanged.
Je souhaite par le code vider mes textBox, le problème est que si un textBox contenait du texte, l'évènement TextChanged est appelé quand je le vide et mes requêtes SQL de filtres sont executées.
Du coup j'ai créé une petite fonction toute simple pour vider un textbox dans laquelle je retire l'évènement TextChanged, je vide le textBox puis je remet l'évènement.
Cela marche tres bien, sauf que si j'ai 10 textBox je dois créer autant de fonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private void clearTextBox1() { this.textBox1.TextChanged -= this.textBox1_TextChanged; this.textBox1.Clear(); this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); }
Je souhaite donc créer une fonction dans laquelle je passerai en argument mon control Textbox que je souhaite vider, mais la je coince sur comment stocker mon évènement TextChanged pour le retirer de mon textBox puis le réaffecter après avoir vider mon textbox
si quelqu'un à une idée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private void clearTextBox(TextBox tb) { EventHandler textChanged; textChanged += tb.TextChanged; //this.textBox1.TextChanged -= this.textBox1_TextChanged; tb.Clear(); //this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged); }
merci
Partager