Minimizar aplicaciones en la bandeja del sistema
- Aplicación de formularios de Windows
- Bandeja del sistema
- Bandeja del sistema y notificación
- Minimizar la aplicación de Windows Forms en la bandeja del sistema
- Conclusión
Este artículo explica cómo minimizar las aplicaciones de Windows Forms en la bandeja del sistema en lugar de la barra de tareas usando C#. Antes de continuar, necesitamos un poco de información sobre las aplicaciones de Windows Forms y la bandeja del sistema, así que comencemos con eso.
Aplicación de formularios de Windows
Windows Forms es una biblioteca integrada en el marco .NET que se utiliza para crear interfaces gráficas de usuario (GUI) para aplicaciones de escritorio (y también aplicaciones web).
Los controles típicos en una aplicación de Windows Forms incluyen botones, menús, campos de texto, casillas de verificación, etc. Un registro o un formulario de inicio de sesión pueden ser ejemplos simples de una aplicación de Windows Forms.
Puede encontrar más información sobre la aplicación Window Form aquí.
Bandeja del sistema
Casi todas las aplicaciones de Windows Forms tienen la funcionalidad de minimizar la aplicación en la barra de tareas como rutina habitual. Esto es perfecto para aplicaciones que se usan con frecuencia y requieren un acceso rápido.
Sin embargo, ¿qué sucede si necesitamos mantener un programa ejecutándose en segundo plano que solo se usa ocasionalmente? Si minimizamos una aplicación de este tipo hacia la barra de tareas, llena la barra de tareas y la barra de tareas se llena de programas abiertos que son difíciles de navegar.
Para ello, podemos minimizar la aplicación a la bandeja del sistema. La bandeja del sistema se encuentra en la esquina inferior derecha de la barra de tareas.
Cada aplicación está simbolizada por un pequeño icono en la bandeja del sistema. La capacidad de acceder fácilmente a ella todavía está ahí, pero está oculta a su vista.
Las aplicaciones de ejecución prolongada, como los chats y el software antivirus, utilizan con frecuencia este método para evitar obstruir la vista del usuario. Sin embargo, estas aplicaciones continúan funcionando en segundo plano y pueden notificar al usuario con un globo de información si es necesario o si ocurre algún evento específico.
Bandeja del sistema y notificación
Para usar la bandeja del sistema, utilizamos el control NotifyIcon
en el espacio de nombres llamado System.Windows.Forms
.
Algunas propiedades importantes de NotifyIcon
son las siguientes:
BalloonTipIcon
: Indica el icono que aparecerá con la punta del globo.BalloonTipText
: Este texto aparecerá en la punta del globo.BalloonTipTitle
: Este es el título que se le da a la punta del globo.Icono
: esta es la propiedad más importante que se debe establecer en un archivo de icono que se muestra en la bandeja del sistema. Solo se admiten archivos.ico
.Texto
: Este es el texto que aparece cuando pasas el cursor sobre el icono en la bandeja del sistema.Visible
: Esta es la propiedad para configurar la visibilidad del icono en la bandeja del sistema.
Algunas propiedades que estableceremos en nuestra aplicación son las siguientes.
private void Form1_Load(object sender, EventArgs e) {
notifyIcon1.BalloonTipTitle = "System Tray";
notifyIcon1.BalloonTipText = "Some Notification";
notifyIcon1.Text = "System Tray App";
}
Minimizar la aplicación de Windows Forms en la bandeja del sistema
Aquí hay un procedimiento paso a paso para minimizar la aplicación en la bandeja del sistema en lugar de la barra de tareas.
-
Abra Visual Studio. Después de iniciar Visual Studio, debería aparecer el siguiente menú:
-
Seleccione
Crear un nuevo proyecto
en el menú, como se muestra en el fragmento anterior. -
Cree una aplicación de Windows Forms seleccionando
WindowsFormApp
en el menú que se muestra en la aplicación. Luego, haga clic en el botónSiguiente
. -
Finalmente, escribimos el nombre de la aplicación Windows Forms y hacemos clic en el botón
Crear
, como se muestra en la siguiente figura: -
Después de crear una aplicación estándar de Windows Forms, la primera tarea es tomar el
Icono de notificación
de la barra de herramientas y colocarlo en el formulario. Haga doble clic en la caja de herramientas y seleccioneNotifyIcon
del menú, como se muestra en la figura a continuación: -
Después de hacer esto, abra la ventana de propiedades de
NotifyIcon
y establezca el estado visible enFalse
, como se muestra en la siguiente figura: -
Seleccione un icono para su aplicación que se mostrará en la bandeja del sistema. Si no seleccionó un icono para su aplicación, no verá la aplicación en la bandeja del sistema después de minimizarla.
-
Agregue el siguiente código en el
NotifyIcon
en el MétodoMouseDoubleClick
:private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { this.Show(); notifyIcon1.Visible = false; WindowState = FormWindowState.Normal; }
-
El siguiente paso es agregar un evento a nuestro formulario. Para hacer esto, haga doble clic en el formulario y seleccione el evento
redimensionar
en el menú de eventos, como se muestra a continuación: -
Ahora, agregue el siguiente código para activar el evento.
private void Form1_Resize(object sender, EventArgs e) { if (WindowState == FormWindowState.Minimized) { this.Hide(); notifyIcon1.Visible = true; notifyIcon1.ShowBalloonTip(1000); } else if (FormWindowState.Normal == this.WindowState) { notifyIcon1.Visible = false; } }
-
Además, agregue el siguiente código en el método
Form1_Load
para establecer las diversas propiedades deNotifyIcon
.private void Form1_Load(object sender, EventArgs e) { notifyIcon1.BalloonTipTitle = "System Tray"; notifyIcon1.BalloonTipText = "Some Notification"; notifyIcon1.Text = "System Tray App"; }
-
Hemos terminado, así que probemos nuestra aplicación. Cuando ejecutemos la aplicación, se desplegará el siguiente formulario:
-
La figura que se muestra muestra el estado de la bandeja del sistema antes de minimizar la aplicación. Aquí puede ver que la aplicación se muestra en la barra de tareas.
-
Cuando hacemos clic en el botón minimizar en el formulario, como se muestra a continuación. Luego, la aplicación se minimizará en la bandeja del sistema.
-
La figura muestra el estado de la bandeja del sistema después de minimizar la aplicación. Aquí puede ver que la aplicación se muestra en la bandeja del sistema.
Conclusión
Las aplicaciones de Windows Forms están configuradas de forma predeterminada para minimizar en la barra de tareas. Sin embargo, las aplicaciones que normalmente se ejecutan en segundo plano (por ejemplo, el software antivirus) no deben minimizarse en la barra de tareas, ya que no es una buena idea apresurar la barra de tareas para las aplicaciones en segundo plano que se usan con menos frecuencia.
Gracias al NotifyIcon
en Windows Forms, podemos anular para minimizar estas aplicaciones en la bandeja del sistema en lugar de la barra de tareas.