ContainerControl.AutoValidate プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As ContainerControl Dim value As AutoValidate value = instance.AutoValidate instance.AutoValidate = value
public: virtual property AutoValidate AutoValidate { AutoValidate get (); void set (AutoValidate value); }
/** @property */ public AutoValidate get_AutoValidate () /** @property */ public void set_AutoValidate (AutoValidate value)
public function get AutoValidate () : AutoValidate public function set AutoValidate (value : AutoValidate)
フォーカスが変更されたときに、格納されたコントロールを暗黙的に検証するかどうかを示す AutoValidate 列挙値。既定値は Inherit です。


AutoValidate の既定値は、コントロールによって異なります。暗黙の検証の詳細については、「Windows フォームにおけるユーザー入力の検証 (Windows フォーム)」を参照してください。

フォームおよびそのフォームに格納されているすべてのコントロールに対する暗黙の検証を無効にし、代わりにマウス ボタンがクリックされたときにフォームのすべての子に対して手動で検証を実行するコード例を次に示します。
Imports System Imports System.Drawing Imports System.Windows.Forms Public Class Form1 Inherits Form 'Entry point which delegates to C-style main Private Function Public Overloads Shared Sub Main() Main(System.Environment.GetCommandLineArgs()) End Sub Private Overloads Shared Sub Main(ByVal args() As String) Application.EnableVisualStyles() Application.Run(New Form1()) End Sub 'Main Private WithEvents FirstNameBox, LastNameBox As TextBox Private WithEvents ValidateButton As Button Private FlowLayout1 As FlowLayoutPanel Private Sub New() End Sub Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load ' 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. Me.AutoValidate = AutoValidate.Disable FlowLayout1 = New FlowLayoutPanel() FlowLayout1.Dock = DockStyle.Fill FirstNameBox = New TextBox() FirstNameBox.Name = "FirstNameBox" FirstNameBox.Location = New Point(10, 10) FirstNameBox.Size = New Size(75, FirstNameBox.Size.Height) FirstNameBox.CausesValidation = True FlowLayout1.Controls.Add(FirstNameBox) LastNameBox = New TextBox() LastNameBox.Name = "LastNameBox" LastNameBox.Location = New Point(90, 10) LastNameBox.Size = New Size(75, LastNameBox.Size.Height) LastNameBox.CausesValidation = True FlowLayout1.Controls.Add(LastNameBox) ValidateButton = New Button() ValidateButton.Text = "Validate" ValidateButton.Location = New Point(170, 10) ValidateButton.Size = New Size(75, ValidateButton.Size.Height) FlowLayout1.Controls.Add(ValidateButton) Me.Text = "Test Validation" Me.Controls.Add(FlowLayout1) End Sub Sub FirstNameBox_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles FirstNameBox.Validating If FirstNameBox.Text.Length = 0 Then e.Cancel = True Else e.Cancel = False End If End Sub Sub LastNameBox_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles LastNameBox.Validating e.Cancel = False End Sub Sub ValidateButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ValidateButton.Click If ValidateChildren() Then MessageBox.Show("Validation succeeded!") Else MessageBox.Show("Validation failed.") End If End Sub End Class
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 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ContainerControl クラス
ContainerControl メンバ
System.Windows.Forms 名前空間
AutoValidate 列挙体
ValidateAll
Validate
AutoValidateChanged
- ContainerControl.AutoValidate プロパティのページへのリンク