Control.OnMouseMove(MouseEventArgs) Метод

Определение

Вызывает событие 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)

Параметры

e
MouseEventArgs

Объект MouseEventArgs, содержащий данные события.A MouseEventArgs that contains the event data.

Примеры

В следующем примере кода показано, как переопределить методы OnMouseHover и OnMouseMove в производном классе.The following code example demonstrates how to override the OnMouseHover and OnMouseMove methods in a derived class. Чтобы выполнить пример, вставьте следующий код в новую форму и вставьте этот класс, формируя тот же файл после формы.To run the example, paste the following code in a new form and paste this class, forming the same file, after the form. Добавьте в форму кнопку типа 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

Комментарии

При возникновении события через делегат вызывается обработчик события.Raising an event invokes the event handler through a delegate. Дополнительные сведения см. в разделе обработка и вызов событий.For more information, see Handling and Raising Events.

Метод OnMouseMove также позволяет производным классам обрабатывать событие, не присоединяя делегат.The OnMouseMove method also allows derived classes to handle the event without attaching a delegate. Это предпочтительная методика обработки событий в производном классе.This is the preferred technique for handling the event in a derived class.

Примечания для тех, кто наследует этот метод

При переопределении метода OnMouseMove(MouseEventArgs) в производном классе нужно убедиться, что вызывается метод OnMouseMove(MouseEventArgs) базового класса, чтобы зарегистрированные делегаты получили событие.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.

Применяется к

Дополнительно