MouseEventArgs 類別


提供 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


下列程式碼範例會處理MouseDown TextBox控制項上的事件, 讓按一下滑鼠右鍵的按鈕會選取控制項中的所有文字。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. 這個範例要求您必須有一個表單, 其中TextBox包含名textBox1為的控制項。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.

如果使用者將焦點切換到MouseDown另一個應用程式MouseUp, 然後放開滑鼠按鍵, 就可以接收沒有對應的事件。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.

(繼承來源 Object)

作為預設雜湊函數。Serves as the default hash function.

(繼承來源 Object)

取得目前執行個體的 TypeGets the Type of the current instance.

(繼承來源 Object)

建立目前 Object 的淺層複製。Creates a shallow copy of the current Object.

(繼承來源 Object)

傳回代表目前物件的字串。Returns a string that represents the current object.

(繼承來源 Object)