Minimizar en el SysTray

Fecha: 11/Dic/2004 (Sabado 11 de diciembre de 2004)
Autor: Mario Felix Guerrero, mfguerrero@msn.com

 


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

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 :)

 


ir al índice