Minimizar una aplicación .NET a la Tray Bar
Autor: Luciano | Categoría: C#, Programación
Hay muchos casos en los cuales minimizar una aplicación a la barra tray es muy útil, generalmente para todas aquellas aplicaciones que corren de fondo (en background), como antivirus, firewalls, etc.
El framework de .NET pone a nuestra disposición un control "NotifyIcon", con el cual podemos minimizar nuestras aplicaciones Windows Form en la barra tray.
Veremos un ejemplo, donde escribiremos unas pocas líneas de código en C# para minimizar una aplicación en la barra tray y restaurarla al hacer doble clic sobre la misma.
- Abrir un proyecto Windows Form existente, o crear uno nuevo.
- De la barra de herramientas buscar el control NotifyIcon y draguearlo al formulario base

- Setear la siguientes propiedades:
- Name: nombre del control, en mi caso lo nombré como "trayIcon"
- Text: texto con el nombre que queremos que aparezca al posicionar el mouse sobre el ícono de la tray.
- Icon: ícono con el que queremos que aparezca la aplicación en la tray bar.
- Visible: en falso, para que la aplicación, al arrancar no se vea en la tray, la haremos visible recién al momento de minimizarla.
- Agregar un manejador de eventos al evento Resize del formulario con el siguiente código:
private void formBase_Resize(object sender, EventArgs e)
{
if (FormWindowState.Minimized == WindowState)
{
Hide();
trayBar.Visible = true;
}
}
- Agregar un manejador de eventos al NotifyIcon.DoubleClick con siguiente código:
private void trayBar_MouseDoubleClick(object sender, MouseEventArgs e)
{
Show();
WindowState = FormWindowState.Normal;
trayBar.Visible = false;
}
En este punto, nuestra aplicación ya se minimizará en la barra tray (en vez de la barra de tareas) y no volverá a aparecer hasta hacer doble clic sobre el ícono de la System Tray.
Si además queremos agregar un menú contextual, estos son los pasos a seguir:
- Draguear al formulario el control ContextMenuStrip.
- Haciendo clic derecho sobre el control ContextMenuStripinsertado, seleccionar Edit Menu.
- Agregar las opciones del menu contextual, por ejemplo, "Restaurar" y "Cerrar".
- Escribir el código para los eventos clic de cada una de las opciones del menú contextual:
- Finalmente, setear en el NotifyIcon la propiedad ContextMenuStip con el nuevo menu contextual recién creado.
private void toolStripMenuItemRestaurar_Click
(object sender, EventArgs e
)
{
Show
();
WindowState = FormWindowState.
Normal;
trayBar.
Visible =
false;
}
private void toolStripMenuItemSalir_Click(object sender, EventArgs e)
{
Application.Exit();
}
Vía: developer.com
4 Respuestas para "Minimizar una aplicación .NET a la Tray Bar"
[...] vimos como Minimizar una aplicación .NET a la Tray Bar. En esta ocasión, minimizaremos a la barra tray una aplicación [...]
Con que programacion puedo hacer eso puedes ponerte el link de donde descargar porque no encuentro ninguna barra de NotifyIcon :S! ayuda men
hola eduardo este tutorial se encuentra programado en c#.NET y son propiedades de los controles las cuales son muy utiles todo lo demas esta explicado arriba en el tutorial adios.
gracias
me sirvio de mucho!!!
sigan asi.
holaaaaaaaaa disculpa no podrias hacer una para visual studio.net (creo que en visual basic es que no he trabajado con c)
Comentarios: