2011-03-15 21 views
8

Tengo un ícono de bandeja en mi aplicación. Estoy mostrando la punta del globo durante 20 segundos, cuando estoy cargando algo en el fondo. Pero, si la carga de fondo se completa temprano, digamos en 10 segundos, me gustaría esconder la punta del globo. Actualmente, la única forma de ocultar la punta del globo es presionar el ícono de cerrar en la punta del globo.¿Cómo cerrar BalloonTip programáticamente?

Public Tray As NotifyIcon 
    Tray = New NotifyIcon 

    Tray.BalloonTipIcon = ToolTipIcon.Info 
    Tray.BalloonTipText = "Loading" 
    Tray.BalloonTipTitle = "Please Wait" 
    Tray.ShowBalloonTip(20 * 1000) 

¿Es posible ocultar la punta del globo programáticamente antes de que se alcance el tiempo especificado?

Respuesta

5

Prueba esto:

Tray.Visible = true; 

Más información here.

¡Hope helps!

4

Sin duda hay mejores formas de hacerlo. El tipo de retroalimentación "Por favor espere" se realiza mejor con una barra de progreso o un cursor del reloj de arena. Puede hacer que sea elegante en Win7 + con el paquete de códigos API de Windows mostrando el progreso en el botón de la barra de tareas.

Anyhoo, puede abrir un globo mostrando otro con un tiempo de espera corto u ocultar el icono de notificación.

+6

Eso no es lo esta discusión es acerca sin embargo. ¿Tal vez el que pregunta está usando esto como ejemplo? –

1

Puede ocultar en cualquier momento la punta del globo (propiedad visible).

Tenga en cuenta que los iconos de las bandejas y los globos son propiedad de y están controlados por explorer.exe ("barra de menú de inicio"), por lo que si no los limpia correctamente, se mantendrá allí. Necesitas decirle activamente que desaparezca. Configurar un temporizador para el globo simplemente le dice al explorador cuánto tiempo mostrarlo. Necesita enviar activamente un mensaje de respuesta para ocultarlo antes.

1

personalmente pensaría que sería más fácil simplemente llamar

Tray.Show(0); 

cual debería forzarlo para ocultar inmediatamente la bandeja de globo sin ocultar el icono de la bandeja en sí ...

Cuestiones relacionadas