Ir para conteúdo
Entre para seguir isso  
Boleta

Programa no SystemTray

Recommended Posts

Boleta    1
Boleta

Olá a todos!

 

Estou me aprofundando em VB.net agora, e percebo que tem muitas vantagens em cima do VB6.

Uma delas, é o sistema de "programa no tray".

Além de simples, possúi mais ferramentas para usar.

 

Bom, vamos lá:

 

Colocando um programa no tray

 

Vá na toolbox, e localize o objeto NotifyIcon. Chame-o de "Tray". Depois, vá na janela de propriedades de "Tray", e defina um icone para o programa.

Depois, adicione isso no código fonte:

 


Public Class Form1

    Dim Ver As Boolean = False

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Tray.Visible = False

    End Sub



    Private Sub Tray_BalloonTipClicked(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tray.BalloonTipClicked

        Me.WindowState = FormWindowState.Normal

        Me.Visible = True

        Me.ShowInTaskbar = True

        Tray.Visible = False

    End Sub



    Private Sub Tray_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Tray.MouseDoubleClick

        Me.WindowState = FormWindowState.Normal

        Me.Visible = True

        Me.ShowInTaskbar = True

        Tray.Visible = False

    End Sub



    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize

        If Me.WindowState = FormWindowState.Minimized Then

            Tray.Visible = True

            Me.ShowInTaskbar = False

            If Ver = False Then

                Tray.ShowBalloonTip(0, "Programa", "O Programa está aqui. Clique no balão para abri-lo", ToolTipIcon.Info)

                Ver = True

            End If

        End If

    End Sub

End Class

Isso fará com que o programa minimize no Tray toda vez que for minimizado, e que se restaure toda vez que for clicado no balão ou no ícone(duplo clique).

 

Bom, é isso ai, qualquer dúvida não exite em postar!

 

Abraços,

//Bol~

Compartilhar este post


Link para o post
Compartilhar em outros sites
Linkz    0
Linkz

Que moleza, no VB tem que da duro pra consegui minimiza alguma coisa no Tray :P

Valeu ae Bolinha, vo ve se um dia eu baixo VB.NET x)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Zero    0
Zero

Com certeza VB .net dá um banho no antigo Visual Basic. :)

 

Em VB .net temos também o sistema de Handles em eventos, podendo redirecionar vários eventos ao mesmo bloco de códigos.

 

Você codificou dois eventos com o mesmo conteúdo e com os mesmos parâmetros, logo poderia ficar assim:

 

Public Class Form1

    Dim Ver As Boolean = False

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Tray.Visible = False

    End Sub



    Private Sub AbrirProgPeloTray(ByVal sender As Object, ByVal e As System.EventArgs) Handles Tray.BalloonTipClicked, Tray.MouseDoubleClick

        Me.WindowState = FormWindowState.Normal

        Me.Visible = True

        Me.ShowInTaskbar = True

        Tray.Visible = False

    End Sub



    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize

        If Me.WindowState = FormWindowState.Minimized Then

            Tray.Visible = True

            Me.ShowInTaskbar = False

            If Ver = False Then

                Tray.ShowBalloonTip(0, "Programa", "O Programa está aqui. Clique no balão para abri-lo", ToolTipIcon.Info)

                Ver = True

            End If

        End If

    End Sub

End Class

Nota: Não é preciso ficar utilizando as propriedades da janela para faze-la sumir ou aparecer, basta usar os métodos Hide() e Show().

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×