Control.OnParentVisibleChanged(EventArgs) Metoda

Definicja

Podnosi zdarzenie VisibleChanged, gdy wartość właściwości Visible kontenera formantu zostanie zmieniona.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)

Parametry

e
EventArgs

EventArgs, który zawiera dane zdarzenia.An EventArgs that contains the event data.

Przykłady

Poniższy przykład kodu jest metodą podnoszącą zdarzenia, która jest wykonywana w przypadku zmiany wartości właściwości Text.The following code example is an event-raising method that is executed when the Text property value changes. Klasa Control ma kilka metod z wzorcem nazwy OnPropertyNameChanged, które wywołują odpowiednie zdarzenie PropertyNameChanged, gdy wartość PropertyName zostanie zmieniona (PropertyName reprezentuje nazwę odpowiedniej właściwości).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).

Poniższy przykład kodu zmienia ForeColor klasy pochodnej TextBox wyświetlanie danych walutowych.The following code example changes the ForeColor of a TextBox derived class displaying currency data. Przykład konwertuje tekst na liczbę dziesiętną i zmienia ForeColor na Color.Red, jeśli liczba jest ujemna i Color.Black, jeśli liczba jest dodatnia.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. Ten przykład wymaga, aby masz klasę, która dziedziczy z klasy 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

Uwagi

Podnoszenie zdarzenia wywołuje program obsługi zdarzeń przez delegata.Raising an event invokes the event handler through a delegate. Aby uzyskać więcej informacji, zobacz Obsługa iwywoływanie zdarzeń.For more information, see Handling and Raising Events.

Metoda OnParentVisibleChanged włącza również klasy pochodne do obsługi zdarzenia bez dołączania delegata.The OnParentVisibleChanged method also enables derived classes to handle the event without attaching a delegate. Jest to preferowana technika obsługi zdarzenia w klasie pochodnej.This is the preferred technique for handling the event in a derived class.

Uwagi dotyczące dziedziczenia

Podczas zastępowania OnParentVisibleChanged(EventArgs) w klasie pochodnej należy wywołać metodę OnParentVisibleChanged(EventArgs) klasy bazowej, tak aby zarejestrowane Delegaty otrzymywały zdarzenie.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.

Dotyczy

Zobacz też