Usar Cursores Animados en VB.NET 2005

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}

Leave a Reply