Udostępnij za pośrednictwem


Control.OnLocationChanged(EventArgs) Metoda

Definicja

Zgłasza zdarzenie LocationChanged.

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

Parametry

e
EventArgs

EventArgs, który zawiera dane zdarzenia.

Przykłady

Poniższy przykład kodu to metoda wywoływana zdarzeń wykonywana po zmianie wartości właściwości Text. Klasa Control ma kilka metod ze wzorcem nazwy OnPropertyNameChanged, które zgłaszają odpowiednie zdarzenie PropertyNameChanged, gdy PropertyName zmienia wartość (PropertyName reprezentuje nazwę odpowiedniej właściwości).

Poniższy przykład kodu zmienia ForeColorTextBox klasy pochodnej wyświetlającej dane waluty. 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. W tym przykładzie jest wymagana klasa pochodząca z klasy 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

Uwagi

Wywoływanie zdarzenia wywołuje procedurę obsługi zdarzeń za pośrednictwem delegata. Aby uzyskać więcej informacji, zobacz Obsługa i podnoszenie zdarzeń.

Metoda OnLocationChanged umożliwia również klasom pochodnym obsługę zdarzenia bez dołączania delegata. Jest to preferowana technika obsługi zdarzenia w klasie pochodnej.

Uwagi dotyczące dziedziczenia

Podczas zastępowania OnLocationChanged(EventArgs) w klasie pochodnej należy wywołać metodę OnLocationChanged(EventArgs) klasy bazowej, aby zarejestrowani delegaci odbierali zdarzenie.

Dotyczy

Zobacz też