Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

ValidationConstraints (Enumeración)

Define constantes que informan al método ValidateChildren sobre cómo debería validar los controles secundarios de un contenedor.

La enumeración tiene un atributo FlagsAttribute que permite una combinación bit a bit de los valores de miembro.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

[FlagsAttribute] 
public enum ValidationConstraints
/** @attribute FlagsAttribute() */ 
public enum ValidationConstraints
FlagsAttribute 
public enum ValidationConstraints

 Nombre de miembroDescripción
EnabledValida los controles secundarios cuya propiedad Enabled está establecida en true
ImmediateChildrenValida los controles secundarios que se alojan directamente en el contenedor. No valida ninguno de los elementos secundarios de estos controles secundarios. Por ejemplo, si tiene un objeto Form que contiene un control UserControl personalizado y este control UserControl contiene a su vez un control Button, al utilizar ImmediateChildren, se desencadenará el evento Validating del control UserControl, pero no el evento Validating del control Button.  
NoneValida todos los controles secundarios y todos los elementos secundarios de estos controles secundarios, sin tener en cuenta los valores de sus propiedades.  
SelectableValida los controles secundarios que se pueden seleccionar. 
TabStopValida los controles secundarios que tienen un conjunto de valores TabStop, lo que significa que el usuario puede desplazarse al control utilizando la tecla TAB.  
VisibleValida los controles secundarios cuya propiedad Visible está establecida en true

De manera predeterminada, ValidateChildren validará todos los controles habilitados en un contenedor, como, por ejemplo, un formulario. Utilice esta enumeración para restringir los tipos de controles cuyo evento Validating se desencadena.

Puede combinar estos valores enumerados junto con una operación OR bit a bit. De este modo, puede indicar una llamada al método ValidateChildren para que valide, por ejemplo, únicamente los controles habilitados que son elementos secundarios inmediatos del contenedor.

Si no especifica ImmediateChildren al llamar a ValidateChildren, el método necesitará que se validen todos los controles secundarios en la jerarquía de control.

El ejemplo de código siguiente sólo hará que se desencadene el evento Validating para los elementos secundarios inmediatos del formulario cuya propiedad Enabled es true.

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

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

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

        void Form1_Load(object sender, EventArgs e)
        {
            // Create controls on form.
            TextBox textBox1, textBox2, textBox3;
            FlowLayoutPanel flowPanel1;
            TextBox subTextBox1;
            Button button1;

            this.Size = new Size(500, 300);
            this.AutoValidate = AutoValidate.Disable;

            textBox1 = new TextBox();
            textBox1.Location = new Point(20, 20);
            textBox1.Size = new Size(75, textBox1.Size.Height);
            textBox1.CausesValidation = true;
            textBox1.Validating += new System.ComponentModel.CancelEventHandler(textBox1_Validating);
            this.Controls.Add(textBox1);

            textBox2 = new TextBox();
            textBox2.Location = new Point(105, 20);
            textBox2.Size = new Size(75, textBox2.Size.Height);
            textBox2.CausesValidation = true;
            textBox2.Validating += new System.ComponentModel.CancelEventHandler(textBox2_Validating);
            this.Controls.Add(textBox2);

            textBox3 = new TextBox();
            textBox3.Location = new Point(190, 20);
            textBox3.Size = new Size(75, textBox3.Size.Height);
            textBox3.Enabled = false;
            textBox3.CausesValidation = true;
            textBox3.Validating += new System.ComponentModel.CancelEventHandler(textBox3_Validating);
            this.Controls.Add(textBox3);

            button1 = new Button();
            button1.Text = "Click";
            button1.Location = new Point(270, 20);
            button1.Click += new EventHandler(button1_Click);
            this.Controls.Add(button1);

            flowPanel1 = new FlowLayoutPanel();
            flowPanel1.Size = new Size(400, 100);
            flowPanel1.Dock = DockStyle.Bottom;
            subTextBox1 = new TextBox();
            subTextBox1.CausesValidation = true;
            subTextBox1.Validating += new System.ComponentModel.CancelEventHandler(subTextBox1_Validating);
            flowPanel1.Controls.Add(subTextBox1);
            this.Controls.Add(flowPanel1);
        }

        void subTextBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            MessageBox.Show("subTextBox1 Validating!");
        }

        void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            MessageBox.Show("textBox1 Validating!");
        }

        void textBox2_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            MessageBox.Show("textBox2 Validating!");
        }

        void textBox3_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            MessageBox.Show("textBox3 Validating!");
        }

        void button1_Click(object sender, EventArgs e)
        {
            this.ValidateChildren(ValidationConstraints.ImmediateChildren | ValidationConstraints.Enabled);
        }
    }
}

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2014 Microsoft