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

Dim instance As Control Dim value As Boolean value = instance.CausesValidation instance.CausesValidation = value
/** @property */ public boolean get_CausesValidation () /** @property */ public void set_CausesValidation (boolean value)
public function get CausesValidation () : boolean public function set CausesValidation (value : boolean)
そのコントロールが原因で、フォーカスを受け取ると検証が必要なコントロールに対して検証が実行される場合は true。それ以外の場合は false。既定値は true です。

CausesValidation プロパティが false に設定されている場合、Validating イベントおよび Validated イベントは発生しません。
CausesValidation プロパティ値は、通常、[ヘルプ] ボタンなどのコントロールに対して false に設定されます。

テキスト ボックスに入力された数値を加算する Windows フォームを作成するコード例を次に示します。結果を表示する前にテキスト ボックスが検証されます。
Private Sub AddHandlers() ' Add the Validating and Validated handlers for textboxes. AddHandler myTextBox1.Validating, AddressOf myTextBox1_Validating AddHandler myTextBox1.Validated, AddressOf myTextBox1_Validated AddHandler myTextBox2.Validating, AddressOf myTextBox2_Validating AddHandler myTextBox2.Validated, AddressOf myTextBox2_Validated AddHandler myTextBox1.CausesValidationChanged, AddressOf myTextBox1_CausesValidationChanged AddHandler myTextBox2.CausesValidationChanged, AddressOf myTextBox2_CausesValidationChanged If myTextBox1.CausesValidation = True And myTextBox2.CausesValidation = True Then button1.Text = "Disable Validation" myLabel.Text = "Validation Enabled" Me.Focus() End If End Sub 'AddHandlers Private Sub myTextBox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) If Not CheckIfTextBoxNumeric(myTextBox1) Then myLabel.Text = "Has to be numeric" e.Cancel = True End If End Sub 'myTextBox1_Validating Private Sub myTextBox1_Validated(sender As Object, e As System.EventArgs) myLabel.Text = "Validated first control" End Sub 'myTextBox1_Validated Private Sub myTextBox2_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) If Not CheckIfTextBoxNumeric(myTextBox2) Then myLabel.Text = "Has to be numeric" e.Cancel = True End If End Sub 'myTextBox2_Validating Private Sub myTextBox2_Validated(sender As Object, e As System.EventArgs) myLabel.Text = "Validated second control" End Sub 'myTextBox2_Validated Private Sub myTextBox1_CausesValidationChanged(sender As Object, e As System.EventArgs) myLabel.Text = "CausesValidation property was changed for First Textbox" End Sub 'myTextBox1_CausesValidationChanged Private Sub myTextBox2_CausesValidationChanged(sender As Object, e As System.EventArgs) myLabel.Text = "CausesValidation property was changed for Second Textbox" End Sub 'myTextBox2_CausesValidationChanged Private Function CheckIfTextBoxNumeric(myTextBox1 As TextBox) As Boolean Dim isValid As Boolean = True If myTextBox1.Text = "" Then isValid = False Else Dim i As Integer For i = 0 To myTextBox1.Text.Length - 1 If Not IsNumeric(myTextBox1.Text) Then myTextBox1.Text = "" isValid = False Exit For End If Next i End If Return isValid End Function 'CheckIfTextBoxNumeric Private Sub myButtonAdd_Click(sender As Object, e As System.EventArgs) Handles myButtonAdd.Click Try Dim result As Integer = Convert.ToInt32(myTextBox1.Text) + Convert.ToInt32(myTextBox2.Text) myLabel.Text = result.ToString() Catch myException As Exception myLabel.Text = "Exception : " + myException.Message End Try End Sub 'myButtonAdd_Click Private Sub button1_Click(sender As Object, e As System.EventArgs) Handles button1.Click If myTextBox1.CausesValidation = False And myTextBox2.CausesValidation = False Then myTextBox1.CausesValidation = True myTextBox2.CausesValidation = True button1.Text = "Disable Validation" myLabel.Text = "Validation Enabled" Else If myTextBox1.CausesValidation = True And myTextBox2.CausesValidation = True Then myTextBox1.CausesValidation = False myTextBox2.CausesValidation = False button1.Text = "Enable Validation" myLabel.Text = "Validation Disabled" End If End If End Sub 'button1_Click
private void AddHandlers() { // Add the Validating and Validated handlers for textboxes. myTextBox1.Validating += new System.ComponentModel.CancelEventHandler(myTextBox1_Validating); myTextBox1.Validated += new System.EventHandler(myTextBox1_Validated); myTextBox2.Validating += new System.ComponentModel.CancelEventHandler(myTextBox2_Validating); myTextBox2.Validated += new System.EventHandler(myTextBox2_Validated); myTextBox1.CausesValidationChanged += new System.EventHandler(myTextBox1_CausesValidationChanged); myTextBox2.CausesValidationChanged += new System.EventHandler(myTextBox2_CausesValidationChanged); if(myTextBox1.CausesValidation == true && myTextBox2.CausesValidation == true) { button1.Text = "Disable Validation"; myLabel.Text = "Validation Enabled"; this.Focus(); } } private void myTextBox1_Validating(object sender,System.ComponentModel.CancelEventArgs e) { if(!CheckIfTextBoxNumeric(myTextBox1)) { myLabel.Text = "Has to be numeric"; e.Cancel = true; } } private void myTextBox1_Validated(object sender,System.EventArgs e) { myLabel.Text = "Validated first control"; } private void myTextBox2_Validating(object sender,System.ComponentModel.CancelEventArgs e) { if(!CheckIfTextBoxNumeric(myTextBox2)) { myLabel.Text = "Has to be numeric"; e.Cancel = true; } } private void myTextBox2_Validated(object sender,System.EventArgs e) { myLabel.Text = "Validated second control"; } private void myTextBox1_CausesValidationChanged(object sender,System.EventArgs e) { myLabel.Text = "CausesValidation property was changed for First Textbox"; } private void myTextBox2_CausesValidationChanged(object sender,System.EventArgs e) { myLabel.Text = "CausesValidation property was changed for Second Textbox"; } private bool CheckIfTextBoxNumeric(TextBox myTextBox1) { bool isValid = true; if(myTextBox1.Text == "") { isValid = false; } else { for(int i=0; i< myTextBox1.Text.Length;i++) { if(!(System.Char.IsNumber(myTextBox1.Text[i]))) { myTextBox1.Text = ""; isValid = false; break; } } } return isValid; } private void myButtonAdd_Click(object sender, System.EventArgs e) { try { int result = Convert.ToInt32(myTextBox1.Text) + Convert.ToInt32(myTextBox2.Text); myLabel.Text = result.ToString(); } catch(Exception myException) { myLabel.Text = "Exception : " + myException.Message; } } private void button1_Click(object sender, System.EventArgs e) { if(myTextBox1.CausesValidation == false && myTextBox2.CausesValidation == false) { myTextBox1.CausesValidation = true; myTextBox2.CausesValidation = true; button1.Text = "Disable Validation"; myLabel.Text = "Validation Enabled"; } else if(myTextBox1.CausesValidation == true && myTextBox2.CausesValidation == true) { myTextBox1.CausesValidation = false; myTextBox2.CausesValidation = false; button1.Text = "Enable Validation"; myLabel.Text = "Validation Disabled"; } }
private: void AddHandlers() { // Add the Validating and Validated handlers for textboxes. myTextBox1->Validating += gcnew System::ComponentModel::CancelEventHandler( this, &Form1::myTextBox1_Validating ); myTextBox1->Validated += gcnew System::EventHandler( this, &Form1::myTextBox1_Validated ); myTextBox2->Validating += gcnew System::ComponentModel::CancelEventHandler( this, &Form1::myTextBox2_Validating ); myTextBox2->Validated += gcnew System::EventHandler( this, &Form1::myTextBox2_Validated ); myTextBox1->CausesValidationChanged += gcnew System::EventHandler( this, &Form1::myTextBox1_CausesValidationChanged ); myTextBox2->CausesValidationChanged += gcnew System::EventHandler( this, &Form1::myTextBox2_CausesValidationChanged ); if ( myTextBox1->CausesValidation == true && myTextBox2->CausesValidation == true ) { button1->Text = "Disable Validation"; myLabel->Text = "Validation Enabled"; this->Focus(); } } void myTextBox1_Validating( Object^ /*sender*/, System::ComponentModel::CancelEventArgs^ e ) { if ( !CheckIfTextBoxNumeric( myTextBox1 ) ) { myLabel->Text = "Has to be numeric"; e->Cancel = true; } } void myTextBox1_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { myLabel->Text = "Validated first control"; } void myTextBox2_Validating( Object^ /*sender*/, System::ComponentModel::CancelEventArgs^ e ) { if ( !CheckIfTextBoxNumeric( myTextBox2 ) ) { myLabel->Text = "Has to be numeric"; e->Cancel = true; } } void myTextBox2_Validated( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { myLabel->Text = "Validated second control"; } void myTextBox1_CausesValidationChanged( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { myLabel->Text = "CausesValidation property was changed for First Textbox"; } void myTextBox2_CausesValidationChanged( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { myLabel->Text = "CausesValidation property was changed for Second Textbox"; } bool CheckIfTextBoxNumeric( TextBox^ myTextBox1 ) { bool isValid = true; if ( myTextBox1->Text->Equals( "" ) ) { isValid = false; } else { for ( int i = 0; i < myTextBox1->Text->Length; i++ ) { if ( !(System::Char::IsNumber( myTextBox1->Text[ i ] )) ) { myTextBox1->Text = ""; isValid = false; break; } } } return isValid; } void myButtonAdd_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { try { int result = Convert::ToInt32( myTextBox1->Text ) + Convert::ToInt32( myTextBox2->Text ); myLabel->Text = result.ToString(); } catch ( Exception^ myException ) { myLabel->Text = "Exception : ",myException->Message; } } void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ ) { if ( myTextBox1->CausesValidation == false && myTextBox2->CausesValidation == false ) { myTextBox1->CausesValidation = true; myTextBox2->CausesValidation = true; button1->Text = "Disable Validation"; myLabel->Text = "Validation Enabled"; } else if ( myTextBox1->CausesValidation == true && myTextBox2->CausesValidation == true ) { myTextBox1->CausesValidation = false; myTextBox2->CausesValidation = false; button1->Text = "Enable Validation"; myLabel->Text = "Validation Disabled"; } }
private void AddHandlers() { // Add the Validating and Validated handlers for textboxes. myTextBox1.add_Validating(new System.ComponentModel. CancelEventHandler(myTextBox1_Validating)); myTextBox1.add_Validated(new System.EventHandler(myTextBox1_Validated)); myTextBox2.add_Validating(new System.ComponentModel. CancelEventHandler(myTextBox2_Validating)); myTextBox2.add_Validated(new System.EventHandler(myTextBox2_Validated)); myTextBox1.add_CausesValidationChanged(new System. EventHandler(myTextBox1_CausesValidationChanged)); myTextBox2.add_CausesValidationChanged(new System. EventHandler(myTextBox2_CausesValidationChanged)); if (myTextBox1.get_CausesValidation() == true && myTextBox2. get_CausesValidation() == true) { button1.set_Text("Disable Validation"); myLabel.set_Text("Validation Enabled"); this.Focus(); } } //AddHandlers private void myTextBox1_Validating(Object sender, System.ComponentModel.CancelEventArgs e) { if (!(CheckIfTextBoxNumeric(myTextBox1))) { myLabel.set_Text("Has to be numeric"); e.set_Cancel(true); } } //myTextBox1_Validating private void myTextBox1_Validated(Object sender, System.EventArgs e) { myLabel.set_Text("Validated first control"); } //myTextBox1_Validated private void myTextBox2_Validating(Object sender, System.ComponentModel.CancelEventArgs e) { if (!(CheckIfTextBoxNumeric(myTextBox2))) { myLabel.set_Text("Has to be numeric"); e.set_Cancel(true); } } //myTextBox2_Validating private void myTextBox2_Validated(Object sender, System.EventArgs e) { myLabel.set_Text("Validated second control"); } //myTextBox2_Validated private void myTextBox1_CausesValidationChanged(Object sender, System.EventArgs e) { myLabel.set_Text("CausesValidation property was changed for " + "First Textbox"); } //myTextBox1_CausesValidationChanged private void myTextBox2_CausesValidationChanged(Object sender, System.EventArgs e) { myLabel.set_Text("CausesValidation property was changed for " + "Second Textbox"); } //myTextBox2_CausesValidationChanged private boolean CheckIfTextBoxNumeric(TextBox myTextBox1) { boolean isValid = true; if (myTextBox1.get_Text().Equals("")) { isValid = false; } else { for (int i = 0; i < myTextBox1.get_Text().get_Length(); i++) { if (!(System.Char.IsNumber(myTextBox1.get_Text(). get_Chars(i)))) { myTextBox1.set_Text(""); isValid = false; break; } } } return isValid; } //CheckIfTextBoxNumeric private void myButtonAdd_Click(Object sender, System.EventArgs e) { try { int result = Convert.ToInt32(myTextBox1.get_Text()) + Convert.ToInt32(myTextBox2.get_Text()); myLabel.set_Text(System.Convert.ToString(result)); } catch (System.Exception myException) { myLabel.set_Text("Exception : " + myException.get_Message()); } } //myButtonAdd_Click private void button1_Click(Object sender, System.EventArgs e) { if (myTextBox1.get_CausesValidation() == false && myTextBox2. get_CausesValidation() == false) { myTextBox1.set_CausesValidation(true); myTextBox2.set_CausesValidation(true); button1.set_Text("Disable Validation"); myLabel.set_Text("Validation Enabled"); } else { if (myTextBox1.get_CausesValidation() == true && myTextBox2. get_CausesValidation() == true) { myTextBox1.set_CausesValidation(false); myTextBox2.set_CausesValidation(false); button1.set_Text("Enable Validation"); myLabel.set_Text("Validation Disabled"); } } } //button1_Click

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に収録されているすべての辞書からControl.CausesValidation プロパティを検索する場合は、下記のリンクをクリックしてください。

- Control.CausesValidation プロパティのページへのリンク