Control.OnMouseMove(MouseEventArgs) Metoda

Definicja

Podnosi zdarzenie MouseMove.Raises the MouseMove event.

protected:
 virtual void OnMouseMove(System::Windows::Forms::MouseEventArgs ^ e);
protected virtual void OnMouseMove (System.Windows.Forms.MouseEventArgs e);
abstract member OnMouseMove : System.Windows.Forms.MouseEventArgs -> unit
override this.OnMouseMove : System.Windows.Forms.MouseEventArgs -> unit
Protected Overridable Sub OnMouseMove (e As MouseEventArgs)

Parametry

e
MouseEventArgs

MouseEventArgs, który zawiera dane zdarzenia.A MouseEventArgs that contains the event data.

Przykłady

Poniższy przykład kodu demonstruje, jak zastąpić metody OnMouseHover i OnMouseMove w klasie pochodnej.The following code example demonstrates how to override the OnMouseHover and OnMouseMove methods in a derived class. Aby uruchomić ten przykład, wklej poniższy kod w nowym formularzu i wklej tę klasę, tworząc ten sam plik po formularzu.To run the example, paste the following code in a new form and paste this class, forming the same file, after the form. Dodaj do formularza przycisk typu FunButton.Add a button of type FunButton to the form.

// To use this example create a new form and paste this class 
// forming the same file, after the form class in the same file.  
// Add a button of type FunButton to the form. 
public ref class FunButton: public Button
{
protected:
   virtual void OnMouseHover( System::EventArgs^ e ) override
   {
      
      // Get the font size in Points, add one to the
      // size, and reset the button's font to the larger
      // size.
      float fontSize = Font->SizeInPoints;
      fontSize += 1;
      System::Drawing::Size buttonSize = Size;
      this->Font = gcnew System::Drawing::Font( Font->FontFamily,fontSize,Font->Style );
      
      // Increase the size width and height of the button 
      // by 5 points each.
      Size = System::Drawing::Size( Size.Width + 5, Size.Height + 5 );
      
      // Call myBase.OnMouseHover to activate the delegate.
      Button::OnMouseHover( e );
   }

   virtual void OnMouseMove( MouseEventArgs^ e ) override
   {
      
      // Make the cursor the Hand cursor when the mouse moves 
      // over the button.
      Cursor = Cursors::Hand;
      
      // Call MyBase.OnMouseMove to activate the delegate.
      Button::OnMouseMove( e );
   }
public class FunButton:
    Button

{
    protected override void OnMouseHover(System.EventArgs e)
    {

        // Get the font size in Points, add one to the
        // size, and reset the button's font to the larger
        // size.
        float fontSize = Font.SizeInPoints;
        fontSize += 1;
        System.Drawing.Size buttonSize = Size;
        this.Font = new System.Drawing.Font(
            Font.FontFamily, fontSize, Font.Style);

        // Increase the size width and height of the button 
        // by 5 points each.
        Size = new System.Drawing.Size(Size.Width+5, Size.Height+5);

        // Call myBase.OnMouseHover to activate the delegate.
        base.OnMouseHover(e);
    }

    protected override void OnMouseMove(MouseEventArgs e)
    {

        // Make the cursor the Hand cursor when the mouse moves 
        // over the button.
        Cursor = Cursors.Hand;

        // Call MyBase.OnMouseMove to activate the delegate.
        base.OnMouseMove(e);
    }
Public Class FunButton
    Inherits Button

    Protected Overrides Sub OnMouseHover(ByVal e As System.EventArgs)

        ' Get the font size in Points, add one to the
        ' size, and reset the button's font to the larger
        ' size.
        Dim fontSize As Single = Font.SizeInPoints
        fontSize += 1
        Dim buttonSize As System.Drawing.Size = Size
        Me.Font = New System.Drawing.Font _
            (Font.FontFamily, fontSize, Font.Style)

        ' Increase the size width and height of the button 
        ' by 5 points each.
        Size = New System.Drawing.Size _
            (Size.Width + 5, Size.Height + 5)

        ' Call myBase.OnMouseHover to activate the delegate.
        MyBase.OnMouseHover(e)
    End Sub

    Protected Overrides Sub OnMouseMove(ByVal e As MouseEventArgs)

        ' Make the cursor the Hand cursor when the mouse moves 
        ' over the button.
        Cursor = Cursors.Hand

        ' Call MyBase.OnMouseMove to activate the delegate.
        MyBase.OnMouseMove(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 OnMouseMove umożliwia także klasom pochodnym obsłużenia zdarzenia bez dołączania delegata.The OnMouseMove method also allows 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 OnMouseMove(MouseEventArgs) w klasie pochodnej należy wywołać metodę OnMouseMove(MouseEventArgs) klasy bazowej, tak aby zarejestrowane Delegaty otrzymywały zdarzenie.When overriding OnMouseMove(MouseEventArgs) in a derived class, be sure to call the base class's OnMouseMove(MouseEventArgs) method so that registered delegates receive the event.

Dotyczy

Zobacz też