1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| private bool pasNombreEntrer = false;
private void tbxTest_KeyDown(object sender, KeyEventArgs e)
{
pasNombreEntrer = false;
// Déterminer si la frappe est un numéro du clavier numérique .
if ((e.KeyCode < Keys.NumPad1 || e.KeyCode > Keys.NumPad9))
{
// Determine si le frappe est un backspace.
if (e.KeyCode != Keys.Back)
{
// Déterminer si la frappe est un numéro à partir du haut du clavier .
if (((e.KeyCode > Keys.D1 || e.KeyCode < Keys.D9) && (Control.ModifierKeys != Keys.Shift)
&& !(Control.IsKeyLocked(Keys.CapsLock))|| (e.KeyCode < Keys.D1 || e.KeyCode > Keys.D9))
//On ne peut pas utiliser Shift si caps lock est activé
|| ((Control.ModifierKeys == Keys.Shift) && (Control.IsKeyLocked(Keys.CapsLock))))
{
// Une touche non numérique a été enclecher
pasNombreEntrer = true;
}
}
}
private void tbxTest_KeyPress(object sender, KeyPressEventArgs e)
{
if (pasNombreEntrer == true)
{
//Le caractère est non numérique donc il n'est pas validé
e.Handled = true;
MessageBox.Show("Ce champ ne doit contenir que des chiffres.", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
} |