Control.OnParentForeColorChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Method

Определение

Вызывает событие ForeColorChanged при изменении значения свойства ForeColor контейнера элемента управления.Raises the ForeColorChanged event when the ForeColor property value of the control's container changes.

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)

Параметры

e
EventArgs EventArgs EventArgs EventArgs

Объект класса EventArgs, содержащий данные события.An EventArgs that contains the event data.

Примеры

В следующем примере кода является методом вызова событий, выполняемый при Text изменения значений свойств.The following code example is an event-raising method that is executed when the Text property value changes. Control Класс имеет несколько методов с именем шаблона On PropertyName Changed , которые вызывают соответствующие PropertyName Changed событий при PropertyName изменении значения (PropertyName представляет имя соответствующего свойства).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).

В следующем коде примера ForeColor из TextBox производного класса, отображение данных валюты.The following code example changes the ForeColor of a TextBox derived class displaying currency data. Пример преобразует текст в десятичное число и изменения ForeColor для Color.Red Если число является отрицательным или Color.Black Если число является положительным.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. В этом примере требуется, что у вас есть класс, производный от TextBox класса.This example requires that you have a class that derives from the TextBox class.

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

Комментарии

При возникновении события через делегат вызывается обработчик события.Raising an event invokes the event handler through a delegate. Дополнительные сведения см. в разделе обработка и вызов событий.For more information, see Handling and Raising Events.

OnParentForeColorChanged Метод также позволяет производным классам обрабатывать событие, не присоединяя делегат.The OnParentForeColorChanged method also enables derived classes to handle the event without attaching a delegate. Это предпочтительная методика обработки событий в производном классе.This is the preferred technique for handling the event in a derived class.

Примечания для тех, кто наследует этот метод

При переопределении метода OnParentForeColorChanged(EventArgs) в производном классе нужно убедиться, что вызывается метод OnParentForeColorChanged(EventArgs) базового класса, чтобы зарегистрированные делегаты получили событие.When overriding OnParentForeColorChanged(EventArgs) in a derived class, be sure to call the base class's OnParentForeColorChanged(EventArgs) method so that registered delegates receive the event.

Применяется к

Дополнительно