Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

AutoValidate, énumération

Remarque : cette énumération est nouvelle dans le .NET Framework version 2.0.

Détermine comment un contrôle valide ses données lorsqu'il perd le focus d'entrée d'utilisateur.

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

public enum AutoValidate
public enum AutoValidate
public enum AutoValidate
 Nom de membreDescription
Pris en charge par le .NET Compact FrameworkDisableUne validation implicite ne se produit pas. La définition de cette valeur n'interfère pas avec les appels explicites à Validate ou ValidateChildren
Pris en charge par le .NET Compact FrameworkEnableAllowFocusChangeUne validation implicite se produit, mais si elle échoue, le focus passe toujours sur le nouveau contrôle. Si la validation échoue, l'événement Validated n'est pas déclenché. 
Pris en charge par le .NET Compact FrameworkEnablePreventFocusChangeUne validation implicite se produit lorsque le contrôle perd le focus. 
Pris en charge par le .NET Compact FrameworkInheritLe contrôle hérite son comportement AutoValidate de son conteneur (par exemple, un formulaire ou un autre contrôle). S'il n'existe pas de contrôle conteneur, il prend par défaut la valeur EnablePreventFocusChange

Si un utilisateur désactive le focus d'un contrôle Windows Forms, le contrôle utilise AutoValidate pour déterminer le mode de validation de ses données. Ce type de validation est appelé validation implicite, car il ne nécessite pas d'appel explicite à Validate ou ValidateChildren par le développeur d'applications.

La propriété correspondant à cette valeur a des valeurs par défaut différentes en fonction du type de contrôle. Pour plus d'informations, consultez Validation des entrées d'utilisateur dans les Windows Forms (Windows Forms).

L'exemple de code suivant désactive la validation implicite d'un formulaire et de tous les contrôles qu'il contient, et exécute manuellement une validation de tous les enfants du formulaire lorsque l'utilisateur clique sur le bouton de la souris.

using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Drawing;
using System.Text;

namespace TestValidation
{
    class Form1 : Form
    {
        private static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.Run(new Form1());
        }

        private TextBox firstNameBox, lastNameBox;
        private Button validateButton;
        private FlowLayoutPanel flowLayout1;

        private Form1()
        {
            this.Load += new EventHandler(Form1_Load);
        }

        void Form1_Load(object sender, EventArgs e)
        {
            // Turn off validation when a control loses focus. This will be inherited by child
            // controls on the form, enabling us to validate the entire form when the 
            // button is clicked instead of one control at a time.
            this.AutoValidate = AutoValidate.Disable;

            flowLayout1 = new FlowLayoutPanel();
            flowLayout1.Dock = DockStyle.Fill;
            flowLayout1.Name = "flowLayout1";

            firstNameBox = new TextBox();
            firstNameBox.Name = "firstNameBox";
            firstNameBox.Size = new Size(75, firstNameBox.Size.Height);
            firstNameBox.CausesValidation = true;
            firstNameBox.Validating += new System.ComponentModel.CancelEventHandler(firstNameBox_Validating);
            flowLayout1.Controls.Add(firstNameBox);

            lastNameBox = new TextBox();
            lastNameBox.Name = "lastNameBox";
            lastNameBox.Size = new Size(75, lastNameBox.Size.Height);
            lastNameBox.CausesValidation = true;
            lastNameBox.Validating += new System.ComponentModel.CancelEventHandler(lastNameBox_Validating);
            flowLayout1.Controls.Add(lastNameBox);

            validateButton = new Button();
            validateButton.Text = "Validate";
            // validateButton.Location = new Point(170, 10);
            validateButton.Size = new Size(75, validateButton.Size.Height);
            validateButton.Click += new EventHandler(validateButton_Click);
            flowLayout1.Controls.Add(validateButton);

            this.Controls.Add(flowLayout1);

            this.Text = "Test Validation";
        }

        void firstNameBox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (firstNameBox.Text.Length == 0)
            {
                e.Cancel = true;
            }
            else
            {
                e.Cancel = false;
            }
        }

        void lastNameBox_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            e.Cancel = false;
        }

        void validateButton_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                MessageBox.Show("Validation succeeded!");
            }
            else
            {
                MessageBox.Show("Validation failed.");
            }
        }
    }
}

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Prise en charge dans : 2.0

.NET Compact Framework

Prise en charge dans : 2.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.