2010-03-25 14 views

Respuesta

18

Usa Cursor.WaitCursor la propiedad.

Se puede utilizar:

Cursor.Current = Cursors.WaitCursor; 

y siempre que hay una cierta tratamiento que se realice en una aplicación WinForms , el cursor permanece en el estado WaitCursor.

Puede también utilizar sus encargo cursores diseñados:

Cursor.Current = new Cursor("C:\\Cursors\\MyWait.cur"); 

fuente: http://bytes.com/topic/c-sharp/answers/238623-how-change-mouse-cursor-busy-state

+2

la propiedad 'UseWaitCursor' es más fiable. – SLaks

+0

La propiedad 'UseWaitCursor' no es para nada más confiable. Para las tareas que bloquean momentáneamente el subproceso de IU, el cursor no cambiará hasta que la tarea se haya completado y devuelva el control a Windows. –

1
Cursor.Current = Cursors.WaitCursor; 

Tendrá una referencia a System.Windows.Forms para cambiar el cursor.

8

Debe establecer la propiedad UseWaitCursor del formulario en true. (Y recuerda que para establecerlo en false nuevo epílogos, preferiblemente en un bloque finally)

También puede establecer Application.UseWaitCursor a true aplicarlo a todas las formas.

2

que no tienen opción de añadir mi respuesta como un comentario a SLaks responder, por lo que he puesto como una respuesta

Con el fin de obligar a solicitud de fijación del cursor que esperar cursor a la vez, hay que llamar para Application.DoEvents() después de establecer el método Application.UseWaitCursor, de lo contrario podría ser cambiado después de que el largo proceso ha sido completado

Application.UseWaitCursor=true; 
    Application.DoEvents(); 
Cuestiones relacionadas