Cet exemple montre comment ajouter du code permettant de valider un TextBox.
Pour réaliser ceci, il faut atteindre les propriétés du TextBox. Cela peut se faire en implémentant une interface MercatorUi.ICustomizers.IFormLoadCustomizer.
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;
namespace SigCli
{
public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer
{
public void FormLoadCustomize(System.Windows.Forms.Form WindowsForm)
{
MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)WindowsForm;
MercatorUi.MovableControls.MovableTextBox MonTextBox = (MercatorUi.MovableControls.MovableTextBox)sigForm.MovableControls["0B4B01061B"];
MonTextBox.Validator = new MercatorUi.Validators.ControlValidator(MonTextBox, "Veuillez compléter cette zone !", new DevComponents.DotNetBar.Validator.ValidateValueEventHandler(ValidateMonTextBox), 1);
}
private void ValidateMonTextBox(object sender, DevComponents.DotNetBar.Validator.ValidateValueEventArgs e)
{
e.IsValid = (e.ControlToValidate.Text.Trim() != "");
}
}
}
Après avoir localisé le TextBox, nous lui ajoutons la classe ControlValidator en lui passant comme paramètres :
- le contrôle à valider
- le message à afficher en cas de non respect de la validation
- l’évènement à déclencher pour la validation
- le type de validation (toujours 1 dans notre cas)
L’évènement de validation est ici "ValidateMonTextBox".
L’exemple donné demande que la zone soit complétée, donc on vérifie que le contrôle à valider ne soit pas vide.
Il est facile d’adapter ce test pour valider la zone comme bon vous semble, du moment qu'il renvoie une valeur logique à la propriété IsValid.
Mot-clés : ControlValidator