Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Control.Validating, événement

Se produit lors de la validation du contrôle.

Espace de noms :  System.Windows.Forms
Assembly :  System.Windows.Forms (dans System.Windows.Forms.dll)

public event CancelEventHandler Validating

Lorsque vous changez le focus à l'aide du clavier (TAB, MAJ+TAB, etc.), en appelant les méthodes Select ou SelectNextControl, ou en définissant la propriété ContainerControl.ActiveControl au formulaire actuel, les événements du focus se produisent dans l'ordre suivant :

  1. Enter

  2. GotFocus

  3. Leave

  4. Validating

  5. Validated

  6. LostFocus

Lorsque vous changez le focus à l'aide de la souris ou en appelant la méthode Focus, les événements de focus se produisent dans l'ordre suivant :

  1. Enter

  2. GotFocus

  3. LostFocus

  4. Leave

  5. Validating

  6. Validated

Si la propriété CausesValidation a la valeur false, les événements Validating et Validated sont supprimés.

Si la propriété Cancel du CancelEventArgs a la valeur true dans le délégué d'événement Validating, tous les événements qui se produiraient normalement après l'événement Validating sont supprimés.

Mise en gardeAttention

Ne tentez pas de définir le focus à partir des gestionnaires d'événements Enter, GotFocus, Leave, LostFocus, Validating ou Validated. Votre application ou le système d'exploitation cesserait de répondre. Pour plus d'informations, consultez la rubrique WM_KILLFOCUS dans la section « Keyboard Input Reference » et la section « Messages Deadlocks » de la rubrique « About Messages and Message Queues » dans MSDN Library à l'adresse http://msdn.microsoft.com/fr-fr/library/default.aspx.

Pour plus d'informations sur la gestion des événements, consultez Consommation d'événements.

L'exemple de code suivant utilise la classe dérivée TextBox et valide une adresse électronique entrée par l'utilisateur. Si l'adresse électronique n'est pas au format standard (contenant "@" et "."), la validation échoue, une icône ErrorProvider s'affiche et l'événement est annulé. Cet exemple suppose que des contrôles TextBox et ErrorProvider aient été créés sur un formulaire.


private void textBox1_Validating(object sender, 
 				System.ComponentModel.CancelEventArgs e)
{
   string errorMsg;
   if(!ValidEmailAddress(textBox1.Text, out errorMsg))
   {
      // Cancel the event and select the text to be corrected by the user.
      e.Cancel = true;
      textBox1.Select(0, textBox1.Text.Length);

      // Set the ErrorProvider error with the text to display. 
      this.errorProvider1.SetError(textBox1, errorMsg);
   }
}

private void textBox1_Validated(object sender, System.EventArgs e)
{
   // If all conditions have been met, clear the ErrorProvider of errors.
   errorProvider1.SetError(textBox1, "");
}
public bool ValidEmailAddress(string emailAddress, out string errorMessage)
{
   // Confirm that the e-mail address string is not empty.
   if(emailAddress.Length == 0)
   {
      errorMessage = "e-mail address is required.";
         return false;
   }

   // Confirm that there is an "@" and a "." in the e-mail address, and in the correct order.
   if(emailAddress.IndexOf("@") > -1)
   {
      if(emailAddress.IndexOf(".", emailAddress.IndexOf("@") ) > emailAddress.IndexOf("@") )
      {
         errorMessage = "";
         return true;
      }
   }

   errorMessage = "e-mail address must be valid e-mail address format.\n" +
      "For example 'someone@example.com' ";
      return false;
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft