Shape.MouseDown Event

 

Occurs when the mouse pointer is over the shape and a mouse button is pressed.

Namespace:   Microsoft.VisualBasic.PowerPacks
Assembly:  Microsoft.VisualBasic.PowerPacks.Vs (in Microsoft.VisualBasic.PowerPacks.Vs.dll)

Syntax

[BrowsableAttribute(true)]
public event MouseEventHandler MouseDown
public:
[BrowsableAttribute(true)]
event MouseEventHandler^ MouseDown {
    void add(MouseEventHandler^ value);
    void remove(MouseEventHandler^ value);
}
[<BrowsableAttribute(true)>]
member MouseDown : IEvent<MouseEventHandler,
    MouseEventArgs>
<BrowsableAttribute(True)>
Public Event MouseDown As MouseEventHandler

Remarks

Mouse events occur in the following order:

MouseEnter 

MouseMove 

MouseHover / MouseDown / MouseWheel

MouseUp 

MouseLeave

For more information about how to handle events, see Handling and Raising Events.

Examples

The following example shows how to use the MouseDown, MouseMove, and MouseUp events to draw lines on a RectangleShape control. This example requires that you have a RectangleShape control named RectangleShape2 on a form.

private System.Drawing.Drawing2D.GraphicsPath mousePath = 
    new System.Drawing.Drawing2D.GraphicsPath();

private void rectangleShape2_MouseDown(object sender, 
    System.Windows.Forms.MouseEventArgs e)
{
    Point mouseDownLocation = new Point(e.X + rectangleShape2.Left, 
        e.Y + rectangleShape2.Top);
    // Clear the previous line.
    mousePath.Dispose();
    mousePath = new System.Drawing.Drawing2D.GraphicsPath();
    rectangleShape2.Invalidate();
    // Add a line to the graphics path.
    mousePath.AddLine(mouseDownLocation, mouseDownLocation);
}

private void rectangleShape2_MouseMove(object sender, 
    System.Windows.Forms.MouseEventArgs e)
{
    int mouseX = e.X + rectangleShape2.Left;
    int mouseY = e.Y + rectangleShape2.Top;
    // Add a line to the graphics path.
    mousePath.AddLine(mouseX, mouseY, mouseX, mouseY);
}

private void rectangleShape2_MouseUp(object sender, 
    System.Windows.Forms.MouseEventArgs e)
{
    System.Drawing.Point mouseUpLocation = 
        new System.Drawing.Point(e.X + rectangleShape2.Left, 
            e.Y + rectangleShape2.Top);
    // Add a line to the graphics path.
    mousePath.AddLine(mouseUpLocation, mouseUpLocation);
    // Force the shape to redraw.
    rectangleShape2.Invalidate();
}

private void rectangleShape2_Paint(object sender, 
    System.Windows.Forms.PaintEventArgs e)
{
    // Draw the line.
    e.Graphics.DrawPath(System.Drawing.Pens.DarkRed, mousePath);
}
Private mousePath = New System.Drawing.Drawing2D.GraphicsPath()

Private Sub RectangleShape2_MouseDown(
    ByVal sender As Object, 
     ByVal e As System.Windows.Forms.MouseEventArgs
  ) Handles RectangleShape2.MouseDown

    Dim mouseDownLocation As New Point(e.X + RectangleShape2.Left, 
      e.Y + RectangleShape2.Top)
    ' Clear the previous line.
    mousePath.Dispose()
    mousePath = New System.Drawing.Drawing2D.GraphicsPath()
    RectangleShape2.Invalidate()
    ' Add a line to the graphics path.
    mousePath.AddLine(mouseDownLocation, mouseDownLocation)
End Sub

Private Sub RectangleShape2_MouseMove(
    ByVal sender As Object, 
    ByVal e As System.Windows.Forms.MouseEventArgs
  ) Handles RectangleShape2.MouseMove

    Dim mouseX As Integer = e.X + RectangleShape2.Left
    Dim mouseY As Integer = e.Y + RectangleShape2.Top
    ' Add a line to the graphics path.
    mousePath.AddLine(mouseX, mouseY, mouseX, mouseY)
End Sub

Private Sub RectangleShape2_MouseUp(
    ByVal sender As Object, 
    ByVal e As System.Windows.Forms.MouseEventArgs
  ) Handles RectangleShape2.MouseUp

    Dim mouseUpLocation = New System.Drawing.Point(e.X + 
      RectangleShape2.Left, e.Y + RectangleShape2.Top)
    ' Add a line to the graphics path.
    mousePath.Addline(mouseUpLocation, mouseUpLocation)
    ' Force the shape to redraw.
    RectangleShape2.Invalidate()
End Sub

Private Sub RectangleShape2_Paint(
    ByVal sender As Object, 
    ByVal e As System.Windows.Forms.PaintEventArgs
  ) Handles RectangleShape2.Paint

    ' Draw the line.
    e.Graphics.DrawPath(System.Drawing.Pens.DarkRed, mousePath)
End Sub

See Also

Shape Class
Microsoft.VisualBasic.PowerPacks Namespace
How to: Draw Lines with the LineShape Control (Visual Studio)
How to: Draw Shapes with the OvalShape and RectangleShape Controls (Visual Studio)
Introduction to the Line and Shape Controls (Visual Studio)

Return to top