Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Control.CausesValidationChanged Event

Occurs when the value of the CausesValidation property changes.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public:
event EventHandler^ CausesValidationChanged {
	void add (EventHandler^ value);
	void remove (EventHandler^ value);
}
/** @event */
public void add_CausesValidationChanged (EventHandler value)

/** @event */
public void remove_CausesValidationChanged (EventHandler value)

JScript supports the use of events, but not the declaration of new ones.

This event is raised if the CausesValidation property is changed by either a programmatic modification or user interaction.

For more information about handling events, see Consuming Events.

The following code example creates a Windows form that adds numbers entered in text boxes. The text boxes are validated before showing the result.

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.