[WinForms - How To] Minimizar ventana en la bandeja del sistema
El desarrollo en Formularios Windows está perdiendo un poco de terreno frente a otras prácticas para el desarrollo de aplicaciones, pero de todos modos es muy bueno poder tener en cuenta ciertas funciones para no perderlas de vista.En este caso quiero mostrar como minimizar una aplicación a la bandeja de entrada y hacerla desaparecer de la barra de tareas.
Para tener en cuenta, definamos ambos términos:
Primero, debemos ocultar el formulario desde la ventana de Propiedades mediante la propiedad ShowTaskbar:
Agregamos un control NotifyIcon al formulario en cuestión:
Agregamos el evento Resize del formulario que permitirá verificar la acción actual de la ventana (minimizado o maximizado):
private void Form1_Resize(object sender, EventArgs e) { //Verificamos el estado de la venta if (FormWindowState.Minimized == this.WindowState) { // Si está minimizándose mostramos la notificación this.notifyIcon1.Visible = true; this.notifyIcon1.ShowBalloonTip(500); } else { // Si no se está minimizando escondemos a notificación this.notifyIcon1.Visible = false; } }
En el evento DoubleClick del control NotifyIcon agregamos la opción de colocar la ventana en vista normal:
private void notifyIcon1_DoubleClick(object sender, EventArgs e) { // Al hacer doble clic en el icono de la bandeja mostramos la ventana normalmente this.WindowState = FormWindowState.Normal; }
Con todos estos pasos logramos nuestro objetivo de ocultar la ventana y mostrar un ícono en la bandeja del sistema.