Gestire i puntatori del mouse (Windows Form .NET)
Il puntatore del mouse, a volte definito cursore, è una bitmap che specifica un punto di messa a fuoco sullo schermo per l'input tramite il mouse. In questo argomento viene fornita una panoramica del puntatore del mouse in Windows Form e vengono descritti alcuni dei modi per modificare e controllare il puntatore del mouse.
Accesso al puntatore del mouse
Il puntatore del mouse è rappresentato dalla classe Cursor e ogni Control ha una proprietà Control.Cursor che specifica il puntatore per tale controllo. La classe Cursor contiene proprietà che descrivono il puntatore, ad esempio le proprietà Position e HotSpot e i metodi che possono modificare l'aspetto del puntatore, ad esempio i metodi Show, Hidee DrawStretched.
L'esempio seguente nasconde il cursore quando il cursore si trova su un pulsante:
private void button1_MouseEnter(object sender, EventArgs e) =>
Cursor.Hide();
private void button1_MouseLeave(object sender, EventArgs e) =>
Cursor.Show();
Private Sub Button1_MouseEnter(sender As Object, e As EventArgs) Handles Button1.MouseEnter
Cursor.Hide()
End Sub
Private Sub Button1_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
Cursor.Show()
End Sub
Controllo del puntatore del mouse
A volte è possibile limitare l'area in cui è possibile utilizzare il puntatore del mouse o modificare la posizione del mouse. È possibile ottenere o impostare la posizione corrente del mouse usando la proprietà Position del Cursor. Inoltre, è possibile limitare l'area in cui può essere utilizzato il puntatore del mouse impostando la proprietà Clip. L'area di ritaglio, per impostazione predefinita, è l'intera schermata.
L'esempio seguente posiziona il puntatore del mouse tra due pulsanti quando si fa clic:
private void button1_Click(object sender, EventArgs e) =>
Cursor.Position = PointToScreen(button2.Location);
private void button2_Click(object sender, EventArgs e) =>
Cursor.Position = PointToScreen(button1.Location);
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
PointToScreen(Button2.Location)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
PointToScreen(Button1.Location)
End Sub
Modifica del puntatore del mouse
La modifica del puntatore del mouse è un modo importante per fornire feedback all'utente. Ad esempio, il puntatore del mouse può essere modificato nei gestori degli eventi MouseEnter e MouseLeave per indicare all'utente che sono in corso calcoli e per limitare l'interazione dell'utente sul controllo. In alcuni casi, il puntatore del mouse cambierà a causa di eventi di sistema, ad esempio quando l'applicazione è coinvolta in un'operazione di trascinamento della selezione.
Il modo principale per modificare il puntatore del mouse consiste nell'impostare la proprietà Control.Cursor o DefaultCursor di un controllo su un nuovo Cursor. Per esempi di modifica del puntatore del mouse, vedere l'esempio di codice nella classe Cursor. Inoltre, la classe Cursors espone un set di oggetti Cursor per molti tipi diversi di puntatori, ad esempio un puntatore simile a una mano.
L'esempio seguente modifica il cursore del puntatore del mouse per un pulsante a una mano:
button2.Cursor = System.Windows.Forms.Cursors.Hand;
Button2.Cursor = System.Windows.Forms.Cursors.Hand
Per visualizzare il puntatore di attesa, simile a una clessidra, ogni volta che il puntatore del mouse si trova sul controllo, utilizzare la proprietà UseWaitCursor della classe Control.
Vedere anche
.NET Desktop feedback