Freigeben über


MouseEventArgs-Klasse

Stellt Daten für die Ereignisse MouseUp, MouseDown und MouseMove bereit.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
<ComVisibleAttribute(True)> _
Public Class MouseEventArgs
    Inherits EventArgs
'Usage
Dim instance As MouseEventArgs
[ComVisibleAttribute(true)] 
public class MouseEventArgs : EventArgs
[ComVisibleAttribute(true)] 
public ref class MouseEventArgs : public EventArgs
/** @attribute ComVisibleAttribute(true) */ 
public class MouseEventArgs extends EventArgs
ComVisibleAttribute(true) 
public class MouseEventArgs extends EventArgs

Hinweise

Das MouseDown-Ereignis tritt ein, wenn der Benutzer die Maustaste drückt und sich der Mauszeiger dabei über einem Steuerelement befindet. Das MouseUp-Ereignis tritt ein, wenn der Benutzer die Maustaste loslässt und sich der Mauszeiger dabei über dem Steuerelement befindet. Das MouseMove-Ereignis tritt ein, wenn der Benutzer den Mauszeiger über ein Steuerelement führt. MouseEventArgs gibt an, welche Maustaste gedrückt wurde, wie oft die Maustaste gedrückt und losgelassen wurde, an welchen Koordinaten sich die Maus befand sowie um welchen Betrag das Mausrad bewegt wurde.

Ein MouseDown-Ereignis kann ohne ein entsprechendes MouseUp empfangen werden, wenn der Benutzer vor dem Loslassen der Maustaste einer anderen Anwendung den Fokus zuweist

Diese drei Ereignisse gibt es für die Klassen Control , AxHost und NotifyIcon.

Informationen zum Ereignismodell finden Sie unter Ereignisse und Delegaten.

Beispiel

Im folgenden Codebeispiel wird das MouseDown-Ereignis für ein TextBox-Steuerelement behandelt, sodass durch das Klicken mit der rechten Maustaste der gesamte Text des Steuerelements markiert wird. In diesem Beispiel muss ein Formular mit dem TextBox-Steuerelement textBox1 vorhanden sein.

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

Im folgenden Codebeispiel werden mithilfe der Location-Eigenschaft Klicks mit der linken Maustaste verfolgt; außerdem wird eine Reihe von einfachen Liniensegmenten entsprechend der Benutzereingabe gezeichnet. Im Beispiel werden die Zeilen nicht neu gezeichnet, wenn das Formular ausgeblendet und anschließend erneut angezeigt wird. Dieser Code wurde der Einfachheit halber ausgelassen.

Dim FirstPoint As Point
Dim HaveFirstPoint As Boolean = False

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
    Else
        FirstPoint = e.Location
        HaveFirstPoint = True
    End If
End Sub
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;
    }
    else
    {
        firstPoint = e.Location;
        haveFirstPoint = true;
    }
}

Im folgenden Codebeispiel werden die X-Eigenschaft und die Y-Eigenschaft verwendet, um die aktuelle Position des Mauszeigers in einem ToolTip-Fenster anzuzeigen.

Dim TrackTip As ToolTip

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

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

Vererbungshierarchie

System.Object
   System.EventArgs
    System.Windows.Forms.MouseEventArgs
       System.Windows.Forms.DataGridViewCellMouseEventArgs
       System.Windows.Forms.HandledMouseEventArgs
       System.Windows.Forms.StatusBarPanelClickEventArgs
       System.Windows.Forms.TreeNodeMouseClickEventArgs

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

MouseEventArgs-Member
System.Windows.Forms-Namespace
OnMouseDown
Control.MouseDown-Ereignis
OnMouseUp
Control.MouseUp-Ereignis
OnMouseMove
Control.MouseMove-Ereignis
MouseDown
MouseUp
MouseMove