NotifyIcon

Qué es y cuándo se usa

 

Fecha: 20/Sep/2005 (17/Sep/2005)
Autor: Santiago Castro - (bryant@montevideo.com.uy)

 


NotifyIcon es un control que yo personalmente uso en Visual Basic.Net 2005 Express Edition no sólo para mostrar el ícono en la barra de tareas, sinó que posee otras funcionalidades más. Puede presentar un "Globo de diálogo":

Ejemplo

Se compone de 3 partes (propiedades): BalloonTipIcon (ícono), en este caso con el valor Info; BalloonTipText (texto), con el valor "Bienvenido a Balloon" y BalloonTipTitle (título), con el valor "Bienvenido".

Lo llamamos con el método ShowBalloonTip que admite dos overloads: ShowBalloonTip(timeout As Integer) y ShowBalloonTip(timeout As Integer, tiptitle As String, tiptext As String, tipicon As System.Windows.Forms.ToolTipIcon).

Posee 3 eventos: BalloonTipClicked (cuando se hace click en el "globo"), BalloonTipClosed (cuando se cierra el "globo") y BalloonTipShown (cuando se muestra).

También al control NotifyIcon puede agregarse el control ContextMenuStrip.

Dados estos controles:

Controles

Valores

frmBalloon (Form)  
txtMensaje (TextBox) ReadOnly= True, MultiLine=True, ScrollBars=Vertical
ntiBalloon (NotifyIcon) BalloonTipIcon=Info, BalloonTipText="Bienvenido a Balloon", BalloonTipTitle="Title", ContetMenuStrip=cmsBalloon
cmsBalloon (ContextMenuStrip)  

tsiMinimizarAbrir (ToolStripMenuItem)

(es un ítem de cmsBalloon)

Esto es un ejemplo:

Private Sub frmBalloon_FormClosing(ByVal sender As Object, ByVal e As FormClosingEventArgs) Handles Me.FormClosing
    ntiBalloon.Visible = False
End Sub

Private Sub frmBalloon_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    ntiBalloon.ShowBalloonTip(5)
End Sub

Private Sub tsiMinimizarAbrir_Click(ByVal sender As Object, ByVal e As EventArgs) Handles tsiMinimizarAbrir.Click
    If tsiMinimizarAbrir.Text = "&Minimizar a la bandeja" Then
        tsiMinimizarAbrir.Text = "&Abrir"
        Me.Hide()
        Exit Sub
    Else
        tsiMinimizarAbrir.Text = "&Minimizar a la bandeja"
        Me.Show()
        Exit Sub
    End If
End Sub

Private Sub ntiBalloon_BalloonTipClicked(ByVal sender As Object, ByVal e As EventArgs) Handles ntiBalloon.BalloonTipClicked
    txtMensajes.Text &= "Se ha clickeado el globo" & Chr(13) & Chr(10)
End Sub

Private Sub ntiBalloon_BalloonTipClosed(ByVal sender As Object, ByVal e As EventArgs) Handles ntiBalloon.BalloonTipClosed
    txtMensajes.Text &= "Se ha cerrado el globo" & Chr(13) & Chr(10)
End Sub

Private Sub ntiBalloon_BalloonTipShown(ByVal sender As Object, ByVal e As EventArgs) Handles ntiBalloon.BalloonTipShown
    txtMensajes.Text &= "Se ha abierto el globo" & Chr(13) & Chr(10)
End Sub

Private Sub ntiBalloon_DoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles ntiBalloon.DoubleClick
    tsiMinimizarAbrir_Click(sender, e)
End Sub

Como podemos ver, NotifyIcon tiene muchos usos.

Recuerda que esto está hecho en base a Visual Basic.Net 2005, incluyendo el código de ejemplo.

Es importante destacar que este control es generalmente usado en los casos de que la aplicación tiene que estar ejecutándose sin que se vea el formulario, y enviando mensajes en el "globo" al usuario. Y, cuando quieras que el formulario se vea, enlazas un ContextMenuStrip al control con la opción de mostrar el formulario. Le puedes agregar imágenes a los ítems del ContextMenuStrip.


Espacios de nombres usados en el código de este artículo:


Fichero con el código de ejemplo: bryant1410_Balloon.zip - Tamaño 14,8 KB


ir al índice