共用方式為


Control.OnParentChanged(EventArgs) 方法

定義

引發 ParentChanged 事件。

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

參數

e
EventArgs

包含事件資料的 EventArgs

範例

下列程式碼範例是屬性值變更時 Text 所執行的事件引發方法。 當 PropertyName 值變更 (PropertyName 代表對應屬性的名稱) 時,類別 Control 有數個名稱模式 OnPropertyNameChanged ,會引發對應的PropertyNameChanged 事件。

下列程式碼範例會變更衍生類別的 TextBoxForeColor 以顯示貨幣資料。 本範例會將文字轉換成十進位數,如果數位為負數,則變更為 ,如果 Color.Black 數位為正數,則為 。 ForeColorColor.Red 此範例會要求您有衍生自 類別的 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

備註

引發事件會透過委派叫用此事件處理常式。 如需詳細資訊,請參閱 處理和引發事件

方法 OnParentChanged 也可讓衍生類別處理事件,而不附加委派。 這是在衍生類別中處理事件的慣用技巧。

給繼承者的注意事項

當在衍生類別中覆寫 OnParentChanged(EventArgs) 時,請確定呼叫基底類別的 OnParentChanged(EventArgs) 方法,使已註冊的委派能接收到事件。

適用於

另請參閱