Control.OnParentForeColorChanged(EventArgs) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当控件容器的 ForeColorChanged 属性值更改时,将引发 ForeColor 事件。
protected:
virtual void OnParentForeColorChanged(EventArgs ^ e);
protected virtual void OnParentForeColorChanged (EventArgs e);
abstract member OnParentForeColorChanged : EventArgs -> unit
override this.OnParentForeColorChanged : EventArgs -> unit
Protected Overridable Sub OnParentForeColorChanged (e As EventArgs)
参数
示例
下面的代码示例是属性值更改时 Text 执行的事件引发方法。 类Control具有多个名称模式 On
PropertyNameChanged
的方法,这些方法在 PropertyName 值更改时引发相应的 PropertyNameChanged
事件 (PropertyName 表示) 相应属性的名称。
下面的代码示例更改 ForeColor 显示货币数据的派生类的 TextBox 。 该示例将文本转换为十进制数,如果数字为负数,将 更改为 ForeColorColor.Red ;如果数字为正数,则更改为 Color.Black 。 此示例要求具有派生自 类的 TextBox 类。
protected:
virtual void OnTextChanged( System::EventArgs^ e ) override
{
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 ( Exception^ )
{
// If there is an error, display the
// text using the system colors.
this->ForeColor = SystemColors::ControlText;
}
TextBox::OnTextChanged( e );
}
protected override void 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);
}
Protected Overrides Sub OnTextChanged(e As System.EventArgs)
Try
' Convert the text to a Double and determine
' if it is a negative number.
If Double.Parse(Me.Text) < 0 Then
' If the number is negative, display it in Red.
Me.ForeColor = Color.Red
Else
' If the number is not negative, display it in Black.
Me.ForeColor = Color.Black
End If
Catch
' If there is an error, display the
' text using the system colors.
Me.ForeColor = SystemColors.ControlText
End Try
MyBase.OnTextChanged(e)
End Sub
注解
引发事件时,将通过委托调用事件处理程序。 有关详细信息,请参阅 处理和引发事件。
方法 OnParentForeColorChanged 还允许派生类在不附加委托的情况下处理事件。 这是在派生类中处理事件的首选技术。
继承者说明
在派生类中重写 OnParentForeColorChanged(EventArgs) 时,一定要调用基类的 OnParentForeColorChanged(EventArgs) 方法,以便已注册的委托对事件进行接收。