Tengo una aplicación de formularios de Windows con tecnología de C # y Visual Studio 2010.
¿Cómo puedo minimizar mi aplicación en la bandeja del sistema (no en la barra de tareas) y luego traerla de vuelta cuando hago doble clic en la bandeja del sistema? ¿alguna idea? Además, ¿cómo puedo hacer un menú en el ícono en la bandeja del sistema y cuando hago clic derecho en él, muestra un menú como Iniciar sesión, Desconectar, Conectar, algo así? Además, ¿hay algún método para mostrar como un globo que aparece en la bandeja del sistema?
PD: Ya agregué un notifyIcon, pero no sé cómo usarlo.
Respuestas:
fuente
Encontré esto para lograr la solución completa. La respuesta anterior no elimina la ventana de la barra de tareas.
También es bueno establecer las siguientes propiedades del control del icono de notificación mediante el diseñador de formularios.
fuente
this.Show();
antesthis.WindowState = FormWindowState.Normal;
Hide()
. Pero el problema con ese enfoque es que la ventana aún aparece cuando presionas Alt-Tab. Prefiero llamarHide()
y de esa manera no tienes que usar laShowInTaskbar
propiedad en absoluto.Show()
yHide()
; después de esconderse, mostrar y luego esconderse, no se volverá a mostrar.Yo iria con
fuente
no olvide agregar el archivo de icono a su notifyIcon o no aparecerá en la bandeja.
fuente
prueba esto
fuente
this.Hide()
, la ventana seguirá apareciendo al hacer Alt-Tab.Este es el método que utilizo en mis aplicaciones, es bastante simple y se explica por sí mismo, pero me complace dar más detalles en respuesta a sus comentarios.
fuente
Al hacer clic en la imagen en la bandeja del sistema, puede verificar si el marco es visible y luego debe establecer Visible = verdadero o falso
fuente
... y para el menú de notificación del botón derecho, agregue un menú contextual al formulario y edítelo y configure los eventos de clic del mouse para cada uno de los elementos del menú contextual haciendo doble clic en ellos y luego adjúntelo al icono de notificación1 seleccionando la propiedad ContextMenuStrip en el icono de notificación.
fuente
this.WindowState = FormWindowState.Minimized;
fuente