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