The following code example is an event-raising method that is executed when the Text property value changes. The Control class has several methods with the name pattern OnPropertyNameChanged that raise the corresponding PropertyNameChanged event when the PropertyName value changes (PropertyName represents the name of the corresponding property).

The following code example changes the ForeColor of a TextBox derived class displaying currency data. The example converts the text to a decimal number and changes the ForeColor to Color.Red if the number is negative and to Color.Black if the number is positive. This example requires that you have a class that derives from the TextBox class.

protectedoverridevoid OnTextChanged(System.EventArgs e)
{
try
{
// Convert the text to a Double and determine // if it is a negative number. if(double.Parse(this.Text) < 0)
{
// If the number is negative, display it in Red. this.ForeColor = Color.Red;
}
else
{
// If the number is not negative, display it in Black. this.ForeColor = Color.Black;
}
}
catch
{
// If there is an error, display the // text using the system colors. this.ForeColor = SystemColors.ControlText;
}
base.OnTextChanged(e);
}