Beren.it

All that you can leave behind

Cambiare il cursore del mouse in una Windows Application

Come cambiare il cursore di una Windows Application

A volte in una Windows Application è utile modificare il cursore del mouse, ad esempio durante un caricamento, per aiutare l'utente a percepire quando l'applicazione sta effettuando delle operazioni e dunque potrebbe non rispondere. Ad esempio un classico è visualizzare la clessidra durante il caricamento. Per farlo è molto semplice, basta agire sulla property Current dell'oggetto Cursor in questo modo:

[C#]

// hourglass cursor
Cursor.Current = Cursors.WaitCursor;
try
{
  Thread.Sleep(5000);  // wait for a while
}
finally
{
  Cursor.Current = Cursors.Default;
}

 

La classe Cursors contiene una serie di cursori tra cui il WaitCursor che è la classica clessidra oppure in Vista e Seven il circolino di attesa. Per tornare al default basta appunto usare il Default che tornerà a visualizzare la classica freccia del mouse. Una cosa a cui prestare attenzione nell'esempio è il fatto che il default del cursore viene resettato nel finally di modo che qualunque cosa succeda all'uscita dal codice in cui si doveva visualizzare un cursore diverso, il default verrà ripristinato, anche in caso eccezioni non gestite.