// Valider le contrôle en quittant ce dernier private void Leave(object sender, EventArgs e) { ControlToValidate ctv = FindControlToValidate(sender); ctv.JustFocused = false; UpdateError(sender); }
/// <summary> /// Vérification de la validité d'un contrôle. Si ce dernier est en faute, /// ajouter un indicateur d'erreur. /// </summary> /// <param name="control">Référence sur le contrôle à valider</param> public void UpdateError(object control) { if (_ErrorProvider != null) { ControlToValidate ctv = FindControlToValidate(control); if (ctv != null) { string message = ""; if (!ctv.Validate(ref message)) { _ErrorProvider.SetError(ctv.Control, message); } else { _ErrorProvider.SetError(ctv.Control, null); } } } }
// Si le contrôle vient d'avoir le focus, placer le curseur à la fin private void Click(object sender, EventArgs e) { ControlToValidate ctv = FindControlToValidate(sender); if (ctv.JustFocused) { ctv.JustFocused = false; if (sender.GetType() == typeof(MaskedTextBox)) { PlaceCursorAtEnd((MaskedTextBox)sender); } else { if (sender.GetType() == typeof(TextBox)) { PlaceCursorAtEnd((TextBox)sender); } } } }
// Marquer le contrôle comme venant d'avoir le focus private void Enter(object sender, EventArgs e) { ControlToValidate ctv = FindControlToValidate(sender); ctv.JustFocused = true; }