Foros del Web » Programación para mayores de 30 ;) » .NET »

System tray con Visual Studio 2008

Estas en el tema de System tray con Visual Studio 2008 en el foro de .NET en Foros del Web. Si no estoy equivocado, cuando al cerrar una apliacion con la el boton X, y se queda en la barra inicio al lado del reloj ...
  #1 (permalink)  
Antiguo 28/10/2008, 08:11
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación System tray con Visual Studio 2008

Si no estoy equivocado, cuando al cerrar una apliacion con la el boton X, y se queda en la barra inicio al lado del reloj se llama System Tray... por favor corrijanme si estoy equivocado...

Bueno, eso es lo que quiero hacer con una apliacion windows form en Visual Studio 2008 estoy programando en C#...

Alguien tiene idea de como hacerlo...

Gracias..

Por si no me entendieron lo que quiero hacer es igual que lo del msn cuando le das cerrar en la X...

Saludos
  #2 (permalink)  
Antiguo 28/10/2008, 08:17
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: System tray con Visual Studio 2008

revisa esto

http://www.developer.com/net/csharp/article.php/3336751
y esto
http://msdn.microsoft.com/en-us/libr...otifyicon.aspx
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 28/10/2008, 08:48
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Respuesta: System tray con Visual Studio 2008

Muchas gracias me ha servido, pero no soy experto en el tema... lo que pude hacer es lo siguiente...


Código PHP:
namespace Banto_Messenger
{
    public 
partial class messenger Form
    
{
        public 
messenger()
        {
            
InitializeComponent();
        }
        private 
void messenger_Resize(object senderSystem.EventArgs e)
        {
            if (
FormWindowState.Minimized == WindowState)
                
Hide();
        }
        private 
void notifyIcon1_DoubleClick(object sender,
                                     
System.EventArgs e)
        {
            
Show();
            
WindowState FormWindowState.Normal;
        }

    }

Pero lo que falta es que cuando presione en la X solo aparesca en el System Tray y no en la barra de menu inicio...

Y que solo se cierre al presionar sobre el otro item...
  #4 (permalink)  
Antiguo 28/10/2008, 08:58
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: System tray con Visual Studio 2008

pues entonces dile en el evento form closing que cancelas el cerrado y lo minimizas sin mostrar en la taskbar y ya.

en el form closing

e.Cancel=true

y que haga un this. hide() o this.WindowState=WindowState.Minimized;
this.ShowInTaskBar=false (esto no recuerdo bien pero se que hay una propiedad que permite ocultarla de la barra de tareas).
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #5 (permalink)  
Antiguo 28/10/2008, 09:08
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Respuesta: System tray con Visual Studio 2008

Intente hacerlo asi... pero cuando minimiso sigue estando en la barra de inicio.. y cuando presiono sobre la X me cierra directamente la apliacion...

Código PHP:
namespace Banto_Messenger
{
    public 
partial class messenger Form
    
{
        public 
messenger()
        {
            
InitializeComponent();
            
        }
        private 
void messenger_Resize(object senderSystem.EventArgs e)
        {
            if (
FormWindowState.Minimized == WindowState)
            {
                
Hide();
            }
            
this.ShowInTaskbar false;
        }
        private 
void notifyIcon1_DoubleClick(object sender,
                                     
System.EventArgs e)
        {
            
Show();
            
WindowState FormWindowState.Normal;
        }
       private 
void messenger_Closing(object senderSystem.EventArgs e){
           
this.ShowInTaskbar false;
       }

    }

Help
  #6 (permalink)  
Antiguo 28/10/2008, 09:13
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: System tray con Visual Studio 2008

pon el ShowInTaskBar antes del hide
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 28/10/2008, 09:24
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Respuesta: System tray con Visual Studio 2008

Intente de la siguiente manera y me dicuenta de que el evento Resize no esta funcionando...

Código PHP:
namespace Banto_Messenger
{
    public 
partial class messenger Form
    
{
        public 
messenger()
        {
            
InitializeComponent();
            
this.notifyIcon1.Visible false;
        }
        private 
void messenger_Resize(object senderSystem.EventArgs e)
        {
            
//Si el estado actual de la ventana es "minimizado"...
            
if (this.WindowState == FormWindowState.Minimized)
            {
                
//Ocultamos el formulario
                
this.Visible false;
                
//Hacemos visible el icono de la bandeja del sistema
                
notifyIcon1.Visible true;
            }
        }

        private 
void notifyIcon1_DoubleClick(object senderSystem.EventArgs e)
        {
            
//Hacemos visible el formulario
            
this.Show();
            
this.WindowState FormWindowState.Normal;
            
//Ocultamos el icono de la bandeja de sistema
            
notifyIcon1.Visible false;
        }

    }

Ya que de esta manera cuando lo minimiso no hace absolutamente nada, solo lonomral, lo minimiza a la bandeja de entrada...

Tampoco funciona el doble click en el notifyIcon1, no abre la aplicacion cuando le hago doble cick...

Que es lo que puede estar mal... gracias por responder
  #8 (permalink)  
Antiguo 28/10/2008, 09:44
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 3 meses
Puntos: 2
Exclamación Respuesta: System tray con Visual Studio 2008

Ahora funciona el doble click sobre el notiyIcon1...

Pero faltaria agregarle para cuando quiere cerrar el formulario, no figure en el la Task Bar...



Código PHP:
namespace Banto_Messenger
{
    public 
partial class messenger Form
    
{
        public 
messenger()
        {
            
InitializeComponent();
            
        }
        private 
void notifyIcon1_MouseDoubleClick(object senderMouseEventArgs e)
        {
            
this.WindowState FormWindowState.Normal;
        }
     

    }

Helpme
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:52.