ValidationConstraints 列挙体
この列挙体には、メンバ値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。
名前空間: System.Windows.Formsアセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

<FlagsAttribute> _ Public Enumeration ValidationConstraints

メンバ名 | 説明 | |
---|---|---|
Enabled | Enabled プロパティが true に設定されている子コントロールを検証します。 | |
ImmediateChildren | コンテナ内に直接ホストされている子コントロールを検証します。これらの子コントロールの子は検証されません。たとえば、カスタムの UserControl を含む Form があり、その UserControl に Button が含まれている場合、ImmediateChildren を使用すると、UserControl の Validating イベントは発生しますが、Button の Validating イベントは発生しません。 | |
None | プロパティの設定にかかわらず、すべての子コントロールと、その子コントロールのすべての子を検証します。 | |
Selectable | 選択できる子コントロールを検証します。 | |
TabStop | TabStop の値が設定されている (つまりユーザーが Tab キーを使用して移動できる) 子コントロールを検証します。 | |
Visible | Visible プロパティが true に設定されている子コントロールを検証します。 |

既定では、ValidateChildren は、フォームなどのコンテナに含まれるすべての有効なコントロールを検証します。この列挙体を使用すると、Validating イベントを発生させるコントロールの種類を制限できます。
これらの列挙値は、ビットごとの OR 演算子と組み合わせることができます。この方法により、ValidateChildren への呼び出しに対して、有効なコントロールのうちコンテナの直接的な子のみ検証するなどの指示を与えることができます。
ValidateChildren の呼び出し時に ImmediateChildren を指定しない場合、コントロール階層に含まれるすべての子コントロールを検証することになります。

Enabled プロパティが true であるフォームの直接的な子にのみ Validating イベントを発生させるコード例を、次に示します。
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
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 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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からValidationConstraints 列挙体を検索する場合は、下記のリンクをクリックしてください。

- ValidationConstraints 列挙体のページへのリンク