• Viernes 1 de Noviembre de 2024, 09:35

Autor Tema:  El icono notifyIcon  (Leído 2718 veces)

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
El icono notifyIcon
« en: Sábado 8 de Noviembre de 2008, 10:49 »
0
Hola:



        private void Form1_Load(object sender, EventArgs e)
        {
            notifyIcon1.Visible = true;
            ShowInTaskbar = false;
        }

        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                notifyIcon1.Visible = true;
               //Justo aquí abajo cada vez que minimizo aparece este mensaje.
                //¿Hay una manera que sólo se muestre la priemra vez?

                notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
                Hide();
            }
            else
            {
                Show();
            }
        }

        private void notifyIcon1_DoubleClick(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
            {
                Show();
                WindowState = FormWindowState.Normal;
            }
            // ¿Esto para qué es? No noto ningún cambio.
            Activate();
            Focus();



Saludos.

sergios_

  • Nuevo Miembro
  • *
  • Mensajes: 20
  • Nacionalidad: es
    • Ver Perfil
    • http://masprogramacionymenosprozac.blogspot.com
Re: El icono notifyIcon
« Respuesta #1 en: Sábado 8 de Noviembre de 2008, 11:18 »
0
Hola,

Si lo que quieres es que el mensaje de aviso se muestre solo la primera vez que minimices el formulario se me ocurre que podrías usar algún tipo de "flag" que te indique si ya has mostrado el mensaje con anterioridad. Puedes añadir una variable miembro privada al formulario que se llame "BalloonTipShow" y que al iniciarse el programa tenga un valor por defecto de cero. Después en el evento "SizeChange" del formulario metes:

Código: Text
  1.  
  2. if(BalloonTipShow == 0)
  3. {
  4.     notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
  5.     BalloonTipShow = 1;
  6. }
  7.  
  8.  

Espero que te sirva de ayuda. Un saludo.
============================
"Si sale, sale. Si no sale, hay que volver a empezar.
Todo lo demás son fantasías." - Edouard Manet

http]

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: El icono notifyIcon
« Respuesta #2 en: Sábado 8 de Noviembre de 2008, 15:53 »
0
Hola:

No me sale bien. Lo puse así.

Código: Text
  1.  private void Form1_SizeChanged(object sender, EventArgs e)
  2.         {
  3.            
  4.             if (WindowState == FormWindowState.Minimized)
  5.             {
  6.                 notifyIcon1.Visible = true;
  7.                 //Justo aquí abajo cada vez que minimizo aparece este mensaje.
  8.                 //¿Hay una manera que sólo se muestre la priemra vez?
  9.                 int uno = 0;
  10.                 if (uno == 0)
  11.                 {
  12.                     notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
  13.                     uno = 1;
  14.                 }
  15.                 Hide();
  16.             }
  17.             else
  18.             {
  19.                 Show();
  20.             }
  21.         }
  22.  

Saludos.

sergios_

  • Nuevo Miembro
  • *
  • Mensajes: 20
  • Nacionalidad: es
    • Ver Perfil
    • http://masprogramacionymenosprozac.blogspot.com
Re: El icono notifyIcon
« Respuesta #3 en: Sábado 8 de Noviembre de 2008, 17:49 »
0
Hola,

La variable que utilizas para saber si ya has mostrado el aviso la tienes que declarar a nivel de formulario. Es decir, en la sección de declaraciones de Form1, fuera de cualquier función, la declaras de la siguiente forma:

private int uno = 0;

Tal y como lo haces tú cada vez que entras en el método "SizeChanged" se crea la variable y se le da el valor cero antes del if por lo que no tiene ningún efecto.

Espero que esta vez te sirva. Un saludo.
============================
"Si sale, sale. Si no sale, hay que volver a empezar.
Todo lo demás son fantasías." - Edouard Manet

http]

Meta

  • Miembro MUY activo
  • ***
  • Mensajes: 140
    • Ver Perfil
Re: El icono notifyIcon
« Respuesta #4 en: Domingo 9 de Noviembre de 2008, 03:05 »
0
Hola:

Ya me funciona, muchas gracias.

Código: Text
  1.  
  2. private int uno = 0;
  3.         private void Form1_SizeChanged(object sender, EventArgs e)
  4.         {
  5.            
  6.             if (WindowState == FormWindowState.Minimized)
  7.             {
  8.                
  9.                 notifyIcon1.Visible = true;
  10.                 //Justo aquí abajo cada vez que minimizo aparece este mensaje.
  11.                 //¿Hay una manera que sólo se muestre la priemra vez?
  12.                
  13.                 if (uno == 0)
  14.                 {
  15.                     notifyIcon1.ShowBalloonTip(3000, "Prueba", "Puede acceder a la aplicación desde este icono", ToolTipIcon.Info);
  16.                     uno = 1;
  17.                 }
  18.                 Hide();
  19.             }
  20.             else
  21.             {
  22.                 Show();
  23.             }
  24.         }
  25.  
  26.         private void notifyIcon1_DoubleClick(object sender, EventArgs e)
  27.         {
  28.             if (WindowState == FormWindowState.Minimized)
  29.             {
  30.                 Show();
  31.                 WindowState = FormWindowState.Normal;
  32.             }
  33.             // ¿Eto para qué es? No noto ningún cambio.
  34.             Activate();
  35.             Focus();
  36.         }
  37.  
  38.  

Saludos.