Bonjour,
Dans une application, un utilisateur saisi des informations par le biais de divers controls (combobox, datetimepicker, ...), et envoie le tout en cliquant sur un bouton.
Jusque là tout va bien.
J'aimerais maintenant pour faciliter la saisie, envoyer les informations quand l'utilisateur appuie sur la touche "Entrer".
Du coup je fais le code suivant :
Mon problème concerne le DateTimePicker :
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 public Form1() { ... foreach (Control ctrl in panelOption.Controls) { ctrl.KeyUp += new KeyEventHandler(ctrlOption_KeyUp); } } private void ctrlOption_KeyUp(object sender, KeyEventArgs e) { if (e.KeyCode.Equals(Keys.Enter)) { buttonSend_Click(null, null); } } private void buttonSend_Click(object sender, EventArgs e) { ... }
Si je change au clavier le jour dans le DateTimePicker et que j'appuie juste après sur entrer, la date que j'obtiens n'est pas celle que je viens d'entrer, mais la précédente.
(J'ai testé sur un comboBox avec DropDownStyle = DropDown, et j'ai le même problème après une saisie au clavier.)
Comment puis-je faire pour "valider" la valeur saisie au clavier avant de déclencher l'événement keyUp?
Partager