MouseEventArgs Class


MouseUpMouseDownMouseMove 事件提供数据。Provides data for the MouseUp, MouseDown, and MouseMove events.

public ref class MouseEventArgs : EventArgs
public class MouseEventArgs : EventArgs
type MouseEventArgs = class
    inherit EventArgs
Public Class MouseEventArgs
Inherits EventArgs


下面的代码示例处理 TextBox 控件上的 MouseDown 事件,以便单击鼠标右键以选择控件中的所有文本。The following code examples handles the MouseDown event on a TextBox control so that clicking the right mouse button selects all the text in the control. 此示例要求您具有一个包含名为 textBox1TextBox 控件的窗体。This example requires that you have a form that contains a TextBox control that is named textBox1.

private void Form1_Load(object sender, EventArgs e)
    // This line suppresses the default context menu for the TextBox control. 
    textBox1.ContextMenu = new ContextMenu();
    textBox1.MouseDown += new MouseEventHandler(textBox1_MouseDown);

void textBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    if (e.Button == MouseButtons.Right)
        textBox1.Select(0, textBox1.Text.Length);
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    TextBox1.ContextMenu = New ContextMenu()
End Sub

Private Sub TextBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseDown
    If (e.Button = Windows.Forms.MouseButtons.Right) Then
        TextBox1.Select(0, TextBox1.Text.Length)
    End If
End Sub

下面的代码示例使用 Location 属性跟踪鼠标左键的单击,并绘制一系列直线段以响应用户输入。The following code example uses the Location property to track clicks of the left mouse button and to draw a series of straight line segments in response to user input. 如果隐藏了窗体,然后重新显示,则该示例不会重绘行;为了简单起见,省略了此代码。The example does not redraw the lines if you hide the form and then redisplay it; this code has been omitted for simplicity.

Point firstPoint;
Boolean haveFirstPoint;

public void EnableDrawing()
    this.MouseDown += new MouseEventHandler(Form1_MouseDownDrawing);

void Form1_MouseDownDrawing(object sender, System.Windows.Forms.MouseEventArgs e)
    if (haveFirstPoint)
        Graphics g = this.CreateGraphics();
        g.DrawLine(Pens.Black, firstPoint, e.Location);
        haveFirstPoint = false;
        firstPoint = e.Location;
        haveFirstPoint = true;
Dim FirstPoint As Point
Dim HaveFirstPoint As Boolean = False

Private Sub Form1_MouseDownDrawing(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDown
    If HaveFirstPoint Then
        Dim g As Graphics = Me.CreateGraphics()
        g.DrawLine(Pens.Black, FirstPoint, e.Location)
        HaveFirstPoint = False
        FirstPoint = e.Location
        HaveFirstPoint = True
    End If
End Sub

下面的代码示例使用 XY 属性将鼠标指针的当前位置显示在 ToolTip 窗口中。The following code example uses the X and Y properties to display the current position of the mouse pointer in a ToolTip window.

ToolTip trackTip;

private void TrackCoordinates()
    trackTip = new ToolTip();
    this.MouseMove += new MouseEventHandler(Form1_MouseMove);

void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    String tipText = String.Format("({0}, {1})", e.X, e.Y);
    trackTip.Show(tipText, this, e.Location);
Dim TrackTip As ToolTip

Private Sub TrackCoordinates()
    TrackTip = New ToolTip()
End Sub

Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
    Dim TipText As String = String.Format("({0}, {1})", e.X, e.Y)
    TrackTip.Show(TipText, Me, e.Location)
End Sub


当鼠标指针位于控件上方并且用户按下鼠标按钮时发生 MouseDown 事件。The MouseDown event occurs when the user presses the mouse button while the pointer is over a control. 当指针停留在控件上并且用户释放鼠标按钮时,会发生 MouseUp 事件。The MouseUp event occurs when the user releases the mouse button while the pointer remains over the control. 当用户将鼠标指针移到控件上时发生 MouseMove 事件。The MouseMove event occurs when the user moves the mouse pointer over a control. MouseEventArgs 指定按下鼠标按钮的时间、按下并释放鼠标按钮的次数、鼠标的坐标和鼠标滚轮移动的量。A MouseEventArgs specifies which mouse button is pressed, how many times the mouse button was pressed and released, the coordinates of the mouse, and the amount the mouse wheel moved.

如果用户在释放鼠标按钮之前将焦点切换到另一个应用程序,则可以在没有相应 MouseUp的情况下接收 MouseDown 事件。It is possible to receive a MouseDown event without a corresponding MouseUp, if the user switches focus to another application before releasing the mouse button.

ControlAxHostNotifyIcon 类存在这三个事件。These three events exist for the Control, AxHost, and NotifyIcon classes.

有关事件模型的信息,请参阅处理和引发事件For information about the event model, see Handling and Raising Events.


MouseEventArgs(MouseButtons, Int32, Int32, Int32, Int32)

初始化 MouseEventArgs 类的新实例。Initializes a new instance of the MouseEventArgs class.



获取曾按下的是哪个鼠标按钮。Gets which mouse button was pressed.


获取按下并释放鼠标按钮的次数。Gets the number of times the mouse button was pressed and released.


获取鼠标轮已转动的制动器数的有符号计数乘以 WHEEL_DELTA 常数。Gets a signed count of the number of detents the mouse wheel has rotated, multiplied by the WHEEL_DELTA constant. 制动器是鼠标轮的一个凹口。A detent is one notch of the mouse wheel.


获取鼠标在产生鼠标事件时的位置。Gets the location of the mouse during the generating mouse event.


获取鼠标在产生鼠标事件时的 x 坐标。Gets the x-coordinate of the mouse during the generating mouse event.


获取鼠标在产生鼠标事件时的 y 坐标。Gets the y-coordinate of the mouse during the generating mouse event.



确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(Inherited from Object)

作为默认哈希函数。Serves as the default hash function.

(Inherited from Object)

获取当前实例的 TypeGets the Type of the current instance.

(Inherited from Object)

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(Inherited from Object)

返回表示当前对象的字符串。Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also