Control.OnForeColorChanged(EventArgs) 方法

定義

引發 ForeColorChanged 事件。Raises the ForeColorChanged event.

protected:
 virtual void OnForeColorChanged(EventArgs ^ e);
protected virtual void OnForeColorChanged (EventArgs e);
abstract member OnForeColorChanged : EventArgs -> unit
override this.OnForeColorChanged : EventArgs -> unit
Protected Overridable Sub OnForeColorChanged (e As EventArgs)

參數

e
EventArgs

包含事件資料的 EventArgsAn 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 類別有數個具有名稱模式的方法,OnpropertynameChanged 會在propertyname值變更時引發對應的PropertyNameChanged 事件(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).

下列程式碼範例會變更顯示貨幣資料 TextBox 衍生類別的 ForeColorThe following code example changes the ForeColor of a TextBox derived class displaying currency data. 此範例會將文字轉換成十進位數,如果數位為負數,則會將 ForeColor 變更為 Color.Red,如果數位是正數,則會 Color.BlackThe 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.

OnForeColorChanged 方法也允許衍生類別處理事件,而不用附加委派。The OnForeColorChanged method also allows derived classes to handle the event without attaching a delegate. 這是在衍生類別中處理事件的慣用技巧。This is the preferred technique for handling the event in a derived class.

給繼承者的注意事項

當在衍生類別中覆寫 OnForeColorChanged(EventArgs) 時,請確定呼叫基底類別的 OnForeColorChanged(EventArgs) 方法,使已註冊的委派能接收到事件。When overriding OnForeColorChanged(EventArgs) in a derived class, be sure to call the base class's OnForeColorChanged(EventArgs) method so that registered delegates receive the event.

適用於

另請參閱