Control.OnParentVisibleChanged(EventArgs) メソッド

定義

コントロールのコンテナーの VisibleChanged プロパティ値が変更された場合に、Visible イベントを発生させます。Raises the VisibleChanged event when the Visible property value of the control's container changes.

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

パラメーター

e
EventArgs

イベント データを格納している EventArgsAn EventArgs that contains the event data.

次のコード例は、プロパティ値が変更されたときに実行されるイベント発生メソッドです TextThe following code example is an event-raising method that is executed when the Text property value changes. Controlクラスには、 On PropertyName Changed propertyname 値が変更された場合に対応するpropertynameイベントを発生させる名前パターン propertyname を持つメソッドがいくつかあり Changed ます (propertynameは対応するプロパティの名前を表します) PropertyNameThe 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. この例では、テキストを10進数に変換し、数値が負の場合はに、 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. この例では、クラスから派生したクラスが必要です TextBoxThis 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.

また、メソッドは、 OnParentVisibleChanged 派生クラスがデリゲートをアタッチせずにイベントを処理できるようにします。The OnParentVisibleChanged 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.

注意 (継承者)

派生クラスで OnParentVisibleChanged(EventArgs) をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnParentVisibleChanged(EventArgs) メソッドを呼び出してください。When overriding OnParentVisibleChanged(EventArgs) in a derived class, be sure to call the base class's OnParentVisibleChanged(EventArgs) method so that registered delegates receive the event.

適用対象

こちらもご覧ください