Minimizar en el SysTray Fecha: 11/Dic/2004 (Sabado 11 de diciembre de 2004) |
Este pequeño código, que escribí para responder un requerimiento publicado en PanoramaBox, aprovecha las facilidades que nos da .NET para minimizar nuestra aplicación en el SysTray de Windows, liberando espacio en la barra de tareas
El código supone la existencia en la aplicación de los siguientes objetos:Además, debemos establecer la propiedad Visible de stIcono igual a False y agregar a stIcono el icono que deseamos aparezca en el SysTray
- Un NotifyIcon llamado stIcono
- Un ContextMenu con un MenuItem llamado mnuRestaurar
Código en Visual Basic:
' Esta constante corresponde al valor del WParam del mensaje que se envia a la forma cuando se minimiza Private Const SC_MINIMIZE = &HF020& ' Se sobreescribe el manejador de mensajes de la forma para detectar cuando se minimiza, si no quieres declarar la constante SC_MINIMIZE al verificar los mensajes, puedes replazarla por el valor directo Protected Overrides Sub WndProc(ByRef m As Message) MyBase.WndProc(m) If CLng(m.WParam.ToInt32) = SC_MINIMIZE Then stIcono.Visible = True ShowInTaskbar = False End If End Sub ' Este manejador hace visible de nuevo la forma, y mejera los eventos DoubleClick, Click de stIcono y mnuRestaurar respectivamente Private Sub stIcono_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles stIcono.DoubleClick, mnuRestaurar.Click ShowInTaskbar = True WindowState = FormWindowState.Normal stIcono.Visible = False End Sub
Si este código te fue útil no olvides darle una calificación en PanoramaBox :)