Skip to main content
.NET Framework Class Library
Control..::.OnMouseMove Method

Raises the MouseMove event.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Syntax
Protected Overridable Sub OnMouseMove ( _
	e As MouseEventArgs _
)
protected virtual void OnMouseMove(
	MouseEventArgs e
)
protected:
virtual void OnMouseMove(
	MouseEventArgs^ e
)
abstract OnMouseMove : 
        e:MouseEventArgs -> unit 
override OnMouseMove : 
        e:MouseEventArgs -> unit 

Parameters

e
Type: System.Windows.Forms..::.MouseEventArgs
A MouseEventArgs that contains the event data.
Remarks

Raising an event invokes the event handler through a delegate. For more information, see Raising an Event.

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.

Notes to Inheritors

When overriding OnMouseMove in a derived class, be sure to call the base class's OnMouseMove method so that registered delegates receive the event.

Examples

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. Add a button of type FunButton to the form.


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


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);
	}


// 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 );
   }

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.