Control.OnParentBackColorChanged(EventArgs) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывает событие BackColorChanged при изменении значения свойства BackColor контейнера элемента управления.
protected:
virtual void OnParentBackColorChanged(EventArgs ^ e);
protected virtual void OnParentBackColorChanged (EventArgs e);
abstract member OnParentBackColorChanged : EventArgs -> unit
override this.OnParentBackColorChanged : EventArgs -> unit
Protected Overridable Sub OnParentBackColorChanged (e As EventArgs)
Параметры
Примеры
Следующий пример кода представляет собой метод вызова событий, который выполняется при Text изменении значения свойства. Класс Control имеет несколько методов с шаблоном On
имени PropertyNameChanged
, которые вызывают соответствующее событие PropertyNameChanged
при изменении значения PropertyName (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
Комментарии
При возникновении события через делегат вызывается обработчик события. Дополнительные сведения см. в разделе Обработка и вызов событий.
Метод OnParentBackColorChanged также позволяет производным классам обрабатывать событие без присоединения делегата. Это предпочтительная методика обработки событий в производном классе.
Примечания для тех, кто наследует этот метод
При переопределении метода OnParentBackColorChanged(EventArgs) в производном классе нужно убедиться, что вызывается метод OnParentBackColorChanged(EventArgs) базового класса, чтобы зарегистрированные делегаты получили событие.