Partilhar via


Control.OnMouseMove(MouseEventArgs) Método

Definição

Aciona o evento MouseMove.

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)

Parâmetros

e
MouseEventArgs

Um MouseEventArgs que contém os dados do evento.

Exemplos

O exemplo de código a seguir demonstra como substituir os OnMouseHover métodos e OnMouseMove em uma classe derivada. Para executar o exemplo, cole o código a seguir em um novo formulário e cole essa classe, formando o mesmo arquivo, após o formulário. Adicione um botão do tipo FunButton ao formulário.

// 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

Comentários

A geração de um evento invoca o manipulador de eventos por meio de um delegado. Para obter mais informações, consulte Manipulando e levantando eventos.

O OnMouseMove método também permite que classes derivadas manipulem o evento sem anexar um delegado. Essa é a técnica preferencial para lidar com o evento em uma classe derivada.

Notas aos Herdeiros

Ao substituir OnMouseMove(MouseEventArgs) em uma classe derivada, chame o método da OnMouseMove(MouseEventArgs) classe base para que os delegados registrados recebam o evento.

Aplica-se a

Confira também