viernes, 19 de noviembre de 2010

Minimizar aplicaciones al area de notificación... en C#

Algunas veces cuando hacemos nuestros trabajos de la escuela(que por lo regular los piden el Lic. Clemente, Peregrino, Serafín, Ángel), de alguna aplicación sea esta x o y nos surge la inquietud de poder minimizarlas y ocultarlas en el área de notificación.
En esta ocasión les mostrare un sencillo ejemplo de cómo poder hacerlo, no tienen que programar nada, ya que solo es cuestión de ir cambiando las propiedades de los objetos.

Requisitos
·         Microsoft Visual Studio 2008
·         Una taza de café
·         Un perico(de los que no son verdes)jejeje es broma

Iniciando
Iniciar el IDE del Visual Studio y crear un nuevo proyecto del tipo de Windows Forms, hacerle los cambios al formulario que viene por defecto. Deberá quedar más o menos así.

El formulario contiene un label y 1 botón…

Luego en nuestra barra de herramientas en la ficha “Menus y barras de herramientas seleccionar y arrastrar un control “ContextMenuStrip”, que en cristiano es un menú contextual o de los que aparecen cuando hacemos click derecho con el ratón,

Ahora procederemos a “crear” los ítems del menú contextual. Seleccionamos el contextMenuStrip1 que nos debió haber aparecido debajo del formulario y creamos los menús hasta que quede de la siguiente manera:

Luego para que nos pueda aparecer el icono el el area de notificación elegimos de la barra de herramientas en la ficha “Controles Comunes, elegimos y arrastramos al formulario el control NotifyIcon.
Luego que nos aparezca el control debajo del formulario, lo seleccionamos, en la propiedad “Icon”,buscamos y elegimos el icono que queremos que nos aparezca cuando minimizamos el formulario.
El otro paso es asociar el NotifyIcnon con un menú contextual, elegimos la propiedad “ContextMenuStrip”, y elegimos “contextMenuStrip1”.
Metiendo unas mamonas líneas de “codigo”
En el formulario en vista diseño hacemos doble click sobre el botón(supongo que lo pusieron)
Y añadiremos esto:
private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();
           
            MessageBox.Show("Observa en el area de notificación\nla aplicación fue minimizada ahí.\n has click derecho sobre el icono para ver las opciones");
           
            notifyIcon1.Visible = true;
            notifyIcon1.BalloonTipText = "y Aqui ponen el texto que quieran\n\nsugerencias\n" +
            "bers_1987@hotmail.com";
            notifyIcon1.BalloonTipTitle = "Aquí va el título:";
            notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;
            notifyIcon1.ShowBalloonTip(5000);
        }

notifiIcon1.Visible:Lo hacemos visible
notifiIcon.BalloonTipText:El cuerpo del mensaje que deseamos mostrar
notifiIcon.BalloonTipTitle:Titulo del mensaje
notifiIcon.BallonTipIcon: Icono mostrado en el mensaje
notifiIcon.ShowBalloonTip: Indicamos el tiempo en milisegundos que estará visible el mensaje (Esta propiedad tiene una sobrecarga en la cual podemos indicarle las tres propiedades anteriores y ahorrarnos 3 lineas).

Luego nos vamos al formulario en vista diseño y elegimos el contextMenuStrip1, elegimos el item “Mostrar Pantalla,y hacemos doble click, le añadimos dos lineas para que quede de esta manera:
        private void mostrarPantallaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Visible = !this.Visible;
            notifyIcon1.Visible = !this.Visible;
        }

En este caso hacemos visible el formulario o no según sea el caso.

Luego en vista diseño volvemos a elegir el contextMenuStrip1, elegimos el item Salir, hacemos doble click y añadimos la siguiente linea:
private void salirToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            this.Dispose();
        }

como nos habremos dado cuenta este es el codigo mas dificil J

Depurando la aplicación

Presionamos la tecla F5 y se nos mostrará el formulario, hacemos click en el boton que yo he llamado “Minimizar” y espero que funcione:
Observamos el area de notificación y nos debe de aparecer el siguiente mensaje con el icono….
Hacemos click derecho sobre el icono y se nos debe mostrar las opciones del menú…

Eso es todo

Recordar que esto lo aprendi de mi sobrino que tiene 6 añitos……

Cualquier comentario ya saben…..


Ahhhh Se me olvidaba,  para la otra mostraré como  hacer una aplicación, como la de la imagen, que contiene todo en un solo formulario….



El codigo fuente lo pueden encontrar aqui: http://bit.ly/cN7QYm

Saluditosssss

4 comentarios:

  1. por ahi un compañero me hizo una sugerencia que seria mostrar el formulario al hacer doble click en el icono.esta facil, solo pongan el codigo para mostrar el formulario en el evento OnCLick del control notifyIcon

    ResponderEliminar
  2. Buen dia, me gustaria aprender a hacer la aplicacion que muestras en la foto pero no veo por ningun lado el link

    ResponderEliminar
  3. HOla

    Yo tengo un problema, no consigo mostrar los NotifyIcon cuando los inserto en una aplicación que es un servicio de Windows.

    Arranco el servicio de windows pero el Notifyicon no lo muestra en el area de notificaciones

    Gracias por vuestra ayuda.

    Saludos.

    Herminio

    ResponderEliminar
  4. private void Form1_Load(object sender, EventArgs e)
    {
    this.WindowState = FormWindowState.Minimized;
    }

    ResponderEliminar