2009-06-02 15 views
7

¿Cómo puedo enviar la ventana minimizada a la bandeja al hacer clic en el botón de cerrar? ¿También cómo mostrar el icono en la bandeja cuando se inicia la aplicación?Enviar a la bandeja al cerrar

Respuesta

8

WinForm:

Un enfoque consiste en establecer la propiedad Cancel del FormClosingEventArgs en caso FormClosing de la ventana y en lugar de minimizar a la bandeja. Para minimizar a la bandeja, consulte este artículo:

Window Tray Minimizer

Proyecto de Código tiene más artículos sobre el tema, pero la que he vinculado trabajó para mí.

WPF:

nunca he tenido que hacer esto en WPF, pero hizo saca alrededor de una solución. He encontrado esto:

Creating a Tray Icon for a WPF Application

Encontrará el código funciona, pero me recomiendan las pruebas. El artículo aborda la apertura de una aplicación minimizada a la bandeja.

También puede encontrar esta muestra en MSDN útil:

Notification Icon Sample

+0

Éste no es fácil de conectar a una aplicación WPF. –

+0

Tienes razón Sergey. Busqué en Google y encontré algunos recursos, pero nada que considere completamente satisfactorio. –

1

En winforms puede sobrecargar WndProc y mirar el mensaje WM_CLOSE.

WM_CLOSE = 0x0010 

    protected override void WndProc(ref Message m) 
    { 
     if(m.Msg == WM_CLOSE) 
     { 
     this.Hide(); 
     trayIcon.Show(); 
     } 

    } 
Cuestiones relacionadas