ValidationConstraints Enumeration
This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.
Namespace: System.Windows.FormsAssembly: System.Windows.Forms (in system.windows.forms.dll)
| Member name | Description | |
|---|---|---|
| Enabled | Validates child controls whose Enabled property is set to true. | |
| ImmediateChildren | Validates child controls that are directly hosted within the container. Does not validate any of the children of these children. For example, if you have a Form that contains a custom UserControl, and the UserControl contains a Button, using ImmediateChildren will cause the Validating event of the UserControl to occur, but not the Validating event of the Button. | |
| None | Validates all child controls, and all children of these child controls, regardless of their property settings. | |
| Selectable | Validates child controls that can be selected. | |
| TabStop | Validates child controls that have a TabStop value set, which means that the user can navigate to the control using the TAB key. | |
| Visible | Validates child controls whose Visible property is set to true. |
By default, ValidateChildren will validate all enabled controls in a container, such as a form. Use this enumeration to restrict the types of controls whose Validating event is raised.
You can combine these enumerated values together with a bitwise OR operation. With this you can instruct a call to ValidateChildren to validate, such as only enabled controls that are immediate children of the container.
If you do not specify ImmediateChildren when you call ValidateChildren, the method will require that you validate all child controls in the control hierarchy.
The following code example will only cause the Validating event to be raised for immediate children of the form whose Enabled property is true.
Imports System.Drawing Imports System.Windows.Forms Namespace ValidateChildrenWithConstraints _ Class Form1 Inherits Form Public Overloads Shared Sub Main(ByVal args() As String) Application.EnableVisualStyles() Application.Run(New Form1()) End Sub Private Sub New() AddHandler Me.Load, AddressOf Form1_Load End Sub Dim WithEvents TextBox1, TextBox2, TextBox3 As TextBox Dim FlowPanel1 As FlowLayoutPanel Dim WithEvents SubTextBox1 As TextBox Dim WithEvents Button1 As Button Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) ' Create controls on form. Me.Size = New Size(500, 300) Me.AutoValidate = AutoValidate.Disable TextBox1 = New TextBox() TextBox1.Location = New Point(20, 20) TextBox1.Size = New Size(75, TextBox1.Size.Height) TextBox1.CausesValidation = True Me.Controls.Add(TextBox1) TextBox2 = New TextBox() TextBox2.Location = New Point(105, 20) TextBox2.Size = New Size(75, TextBox2.Size.Height) TextBox2.CausesValidation = True Me.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 Me.Controls.Add(TextBox3) Button1 = New Button() Button1.Text = "Click" Button1.Location = New Point(270, 20) Me.Controls.Add(Button1) FlowPanel1 = New FlowLayoutPanel() FlowPanel1.Size = New Size(400, 100) FlowPanel1.Dock = DockStyle.Bottom SubTextBox1 = New TextBox() SubTextBox1.CausesValidation = True FlowPanel1.Controls.Add(SubTextBox1) Me.Controls.Add(FlowPanel1) End Sub 'Form1_Load Sub SubTextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SubTextBox1.Validating MessageBox.Show("SubTextBox1 Validating!") End Sub 'SubTextBox1_Validating Sub TextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating MessageBox.Show("TextBox1 Validating!") End Sub 'TextBox1_Validating Sub TextBox2_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox2.Validating MessageBox.Show("TextBox2 Validating!") End Sub 'TextBox2_Validating Sub TextBox3_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TextBox3.Validating MessageBox.Show("TextBox3 Validating!") End Sub 'TextBox3_Validating Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click Me.ValidateChildren((ValidationConstraints.ImmediateChildren Or ValidationConstraints.Enabled)) End Sub 'Button1_Click End Class 'Form1 End Namespace 'ValidateChildrenWithConstraints
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.