Condividi tramite


Gestire i puntatori del mouse (Windows Form .NET)

Il puntatore del mouse, a volte definito cursore, è una bitmap che specifica un punto di stato attivo sullo schermo per l'input dell'utente con 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 Cursor classe e ognuno Control ha una Control.Cursor proprietà che specifica il puntatore per tale controllo. La Cursor classe contiene proprietà che descrivono il puntatore, ad esempio le Position proprietà e HotSpot , e i metodi che possono modificare l'aspetto del puntatore, ad esempio i Showmetodi , 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 Position proprietà dell'oggetto Cursor. Inoltre, è possibile limitare l'area che il puntatore del mouse può essere utilizzato impostando la Clip proprietà . 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 MouseEnter eventi e MouseLeave per indicare all'utente che si verificano calcoli e limitare l'interazione dell'utente nel 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 Control.Cursor proprietà o DefaultCursor di un controllo su un nuovo Cursoroggetto . Per esempi di modifica del puntatore del mouse, vedere l'esempio di codice nella Cursor classe . Inoltre, la Cursors classe espone un set di Cursor oggetti 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 nel controllo, utilizzare la UseWaitCursor proprietà della Control classe .

Vedi anche