Este articulo muestra como agregar un poco de vistosidad a tu aplicación de VB.net. En lugar de mustrar un cursor aburrido y estatico durante las operaciones de espera tu puedes mostrar un llamatico cursor animado.
La clave aqui es que a partir de .net 1.1; la clase Cursores no admite archivos .ani es decir cursores animados o cursores con otros colores que no sean blanco y negro.  Por lo tanto necesitamos utilizar la función LoadCursorFromFile que se encuentra incorporada a las librerias windows dll; user32.dll

Paso 1: Agregamos una nueva clase al Windows Forms application. Lo llamamos  ‘CursorClass’. Agregale el siguiente codigo:

1 Namespace MyCursors

2

3 Public Class CursorFactory

4 Private Declare Unicode Function LoadCursorFromFile _

5 Lib “user32.dll” _

6 Alias “LoadCursorFromFileW” _

7 (ByVal filename As String) As IntPtr

8

9 Public Shared Function Create(ByVal filename As String) As Cursor

10

11 Dim hCursor As IntPtr

12 Dim result As Cursor = Nothing

13

14 Try

15 hCursor = LoadCursorFromFile(filename)

16 If Not IntPtr.Zero.Equals(hCursor) Then

17 result = New Cursor(hCursor)

18 Else

19 ‘could not create cursor

20 Throw New ApplicationException _

21 (“Could not create cursor from file “ & filename)

22 End If

23 Catch ex As Exception

24 ‘log exception

25 MessageBox.Show(ex.Message)

26 End Try

27

28 Return result

29

30 End Function

31

32 End Class

33

34 End Namespace

Paso 2: Durante una operación de espera como la creación de un reporte o la busqueda en una base de datos grande, simplemente agrega este codigo:

5 ‘== Show the busy cursor

6 Windows.Forms.Cursor.Current = MyCursors.CursorFactory.Create(“Busy.ani”)

7

8 ‘== … Long Operation here !!

9 Threading.Thread.Sleep(5000)

10

11 ‘== When operation is complete, show default cursor

12 Windows.Forms.Cursor.Current = Cursors.Default

Fuente: http://www.dotnetmaniac.info/ArticleViewer.aspx?Key={b5878750-5975-48bc-825c-54b494d45145}