AutoValidate 列挙体
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Enumeration AutoValidate

メンバ名 | 説明 | |
---|---|---|
![]() | Disable | 暗黙的な検証は発生しません。この値を設定しても、Validate または ValidateChildren の明示的な呼び出しには影響ありません。 |
![]() | EnableAllowFocusChange | 暗黙的な検証が発生しますが、検証が失敗した場合も、フォーカスは新しいコントロールに移ります。検証が失敗した場合、Validated イベントは発生しません。 |
![]() | EnablePreventFocusChange | コントロールにフォーカスがなくなると、暗黙的な検証が発生します。 |
![]() | Inherit | コントロールは、そのコントロールのコンテナ (フォームや他のコントロールなど) から AutoValidate 動作を継承します。コンテナ コントロールがない場合、既定値は EnablePreventFocusChange です。 |

ユーザーが Windows フォーム コントロールのフォーカスをオフに切り替えると、コントロールは、AutoValidate を使用して、データの検証方法を決定します。この種類の検証は、アプリケーション開発者が明示的に Validate または ValidateChildren を呼び出さなくても発生するため、暗黙的な検証と呼ばれます。
この値に対応するプロパティの既定値は、コントロールの種類によって異なります。詳細については、「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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

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