Sábado, 2024-11-23, 4:17 AM
Le saludo visitante | RSS
[ Mensajes nuevos · Participantes · Reglas del foro · Búsqueda · RSS ]
NUEVO TEMA CREADO
este foro ya no estar en su mantenimiento no mudamos a la siguiente dirección

www.inforprograma.net

  • Página 1 de 1
  • 1
Animación de efecto para nuestra ventana de nuestro programa
jesuliFecha: Jueves, 2009-12-31, 1:00 PM | Mensaje # 1
Teniente
Grupo: Administradores
Mensajes: 77
Estatus: Offline
Crear un icono para nuestra aplicación en la bandeja del sistema.
Este tutorial  voy a mostrar como crear un icono para nuestro programa y se muestre este icono en la bandeja de sistema. Usando el control NotifyIcon, en c#.

NotifyIcon es una función interesante para agregarle a tu aplicación, y se puede ver numerosos ejemplos de el uso de esta función, por ejemplo, si mira en la bandeja de sistema donde esta el reloj vera numeroso icono pequeño que usa esta función de  NotifyIcon .

Anterior mente agregar esta característica a nuestro programa usando la api de win32. era todos muy complicado, por suerte c#, como siempre no hacer la vida mas fácil. gracia a este control implementa esta característica en nuestro programa es un juego de niño, veremos los fácil que es agregar esta función interesante de NotifyIcon a nuestro programa.

el objetivo de este tutorial cubrirá los siguiente

-mostrar cómo crear un icono en la bandeja de sistema.
-mostrar el icono en la bandeja de sistema cuando se minimizar la ventana de nuestra aplicación.
-Cómo agregar un menú contextual para el icono de la bandeja de sistema

Crear un icono en la bandeja de sistema para nuestra aplicación
empecemos creando un proyecto nuevo, de aplicación windows form, el nombre de vuestro proyecto puede ser el que queráis.

Con el proyecto recién creador selecciona en la barra de herramienta el control llamado "NotifyIcon” y arrastrarlo a tu a formulario y Verá NotifyIcon1 aparece en un cuadro gris.

 


Ya tiene en tu formulario un control llamado NotifyIcon1 que es el nombre que le pone por defecto visual studio. Ahora necesitamos un icono que será el que se mostrar en la bandeja de sistema. Para añadirle un icono basta seleccionar el control NotifyIcon1, y con el botón derecho hacer click, y en el menú selecciona Elegir icono y añadir el icono buscándolo en la carpeta donde este el icono. debéis de saber que solo acepta icono con la extensión ICO.



Aunque o parezca extraño ya tenemos implementado esta característica en nuestro programa sin añadirle ninguna línea de código. para demostrarlo compilar el proyecto, y veréis un icono en la bandeja de sistema de nuestra aplicación.

Muestra el icono en la bandeja de sistema a minimizar el programa
en el paso anterior vemos echo implementa la característica de NotifyIcon a nuestro programa. Ahora vamos a hacer, que cuando se pulse en el botón minimizar, el programa se minimiza en la bandeja de sistema, y que aparezca el icono, y que cuando se haga doble clic, en el icono, nuestro programa vuelva a su estado normal, y el icono se eliminar de la bandeja de sistema.

Veamos cómo hacer esto. Con el control seleccionado en su propiedades buscar visible y ponerlo a false

 

 Con esto hacemos que nada mas ejecutar nuestro programa el icono no aparezca en la bandeja de sistema.

Ahora selecciona el "Form1”, y en sus propiedades haga clic en el símbolo del rayo para acceder a los eventos, y haga doble clic en el evento llamado "Resize”



Con esto se abrirá el editor de código llevándote a eventos recién creado y  introduce el siguiente código.

if (this.WindowState == FormWindowState.Minimized)
            {                                                                          
                Hide();
                notifyIcon1.Visible = true;  
            }
Con el código anterior los que hacemos es que cuando la ventana reciba un cambio de tamaño, se ejecute el código que hace oculta la ventana de programa en la barra de tarea, y posteriormente hacer visible el icono en la barra de tarea. El código de eventos resize debe de tenerlo ahora asi.

private void Form1_Resize(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {                                                                                    
                Hide();
                notifyIcon1.Visible = true;
            }
        }

si compilamos el programa ahora veremos que la ventana de programa se oculta en la barra de tarea y aparece el icono de programa. Sin embargo si hacemos click en el icono de programa la ventana de programa no se restaura ahora lo vamos a soluciona.

Vuelve a a modo diseño y selecciona el control NotifyIcon1 en el formulario y dale dos click seguido los que se abrirá el editor de código con el eventos MouseDoubleClick  de control NotifyIcon1

Introduce el siguiente códig
o

Show();
 this.WindowState = FormWindowState.Normal;
 notifyIcon1.Visible = false;
Con esto hacemos que cuando se pulse dos veces seguido en el icono de programa la ventana se restaurara a su forma normal y ocultamos el icono de programa quitandolo de la barra de tarea. Ahora el código de eventos los deber de tener de esta manera
 
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            Show();
            this.WindowState = FormWindowState.Normal;
            notifyIcon1.Visible = false;
        }

Añadir un menú contextual para el icono de la bandeja
Añadir un menú contextual a icono de la bandeja de sistema es muy fácil como vamos a vez el menú contextual solo va a tener un solo elemento en su lista que será "Cerrar programa”

vamos a vez como añadir un menú contextual en la barra de herramienta selecciona el control llamado "ContextMenuStrip” y arrastrarlo a formulario y el control aparecerá a lado de control NotifyIcon1 ahora borra la palabra "escriba aquí” y en su lugar escribe "
Cerrar programa” sin la comilla.
 

Con esta operación vemos añadido un elemento a menús contextual selecciona el elemento que vemos creado es decir "Cerrar programa” y dale dos clicK seguido con esto se abrirá el editor de código con el eventos salirToolStripMenuItem_Click(object sender, EventArgs e)

Anadir el siguiente código en el evento

Close();
Con esto hacemos que cuando demo clicK a menú contextual de elemento "Cerrar programa” el programa se cierre.

Ahora el código de eventos de salirToolStripMenuItem_Click(object sender, EventArgs e)
Deber de tenerlo de esta manera

private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }

Tenemos el menú contextual creado con un solo elemento llamado "Cerrar programa” y un evento asociado a ese elemento de menú para que el menú contextual aparezca cuando se de clicK con el botón derecho de ratón a icono de programa en la bandeja de sistema necesitamos asocial el menú contextual con el icono de la bandeja de sistema para ello asociaremos el menú contextual de control ContextMenuStrip1 con el control NotifyIcon1 de la siguiente manera

Seleccionamos el control NotifyIcon1 y en sus propiedades buscamos contextMenuStrip y en la lista seleccionamos el control contextMenuStrip1. Con esto vemos asociado el menú contextual con el icono de la bandeja de sistema de programa

 

Ahora compilar y ejecuta el programa minimizar la ventana de programa en la bandeja de sistema y cuando aparezca el icono de programa en la bandeja hacer click con el botón derecho de ratón y aparecerá el menú contextual con un solo elemento llamado cerrar programa si le damos clicK a cerrar programa el programa se cierras.

Fin de tutorial, espero que sea de utilidad para aquello que quiera implementa la característica de NotifyIcon. ya que le da un toque mas interesante, y sobre todos mas comodidad a usuario final, que usara nuestro programa, ya que ahorraría espacio en el escritorio de sistema.



[center][/center]
http://www.codigocero.ucoz.es
 
  • Página 1 de 1
  • 1
Búscar:

Usuario Que ha Visitado el sitio
Copyright MyCorp © 2024
Sitio administrado por el sistema de uCoz