Edit : tu fais du c#, mais quel techno, quel version du framework, en fait ?
LePhasme a écrit :
J'ai essayé de rajouter un e.handled = true dans le lostfocus mais ça n'a rien changé.
J'utilisais une méthode à part parce que j'ai plusieurs champs et j'aurais juste à ajouter l'appel à la méthode dans le lostFocus des autres champs quand j'aurais réussi à trouver la cause du problème.
Mais effectivement ce serait sans doute plus propre d'utilisé un delegate.
Je n'ai pas d'évènement validated/validating attaché à ma textbox.
|
Bon :
Pour chaque TextBox
Code :
- myTextBox.Validating += new CancelEventHandler(this.ValidatingTextBox);
- myTextBox2.Validating += new CancelEventHandler(this.ValidatingTextBox);
|
Tu n'as pas besoin d'avoir une méthode Validating_TextBox
et une autre Validating_TextBox1 !
Ensuite
Code :
- public void ValidatingTextBox(object sender, CancelEventArgs e) {
- TextBox tb = (TextBox)sender;
- if (!Utility.isNumeric(tb.Text)) {
- tb.Text = string.Empty; // eventuellement, tu nettoies ta boîte
- MessageBox.Show("Vous ne pouvez entrer que des chiffres" );
- e.Cancel = true;
- }
- }
|
Message édité par deliriumtremens le 22-02-2011 à 11:02:19