VB .NET - Usando o recurso ToolTip para exibir dicas em controles Windows Forms(revisitado)

 Neste artigo eu vou recordar como usar o controle ToolTip para controlar dicas associadas aos controles Windows Forms usando a linguagem VB .NET.

Uma tooltip é uma pequena janela que exibe alguma informação quando você passa o mouse sobre um determinado controle.

No Visual Basic .NET o controle ToolTip é usado para controlar as dicas (ToolTips) para todos os controles em um formulário.

Usamos o método SetToolTip para definir um texto para cada ToolTip.

Podemos definir uma ToolTip via código ou em tempo de projeto.

Os principais métodos da classe ToolTip são:

Nome Descrição
CanExtend Retorna true se a dica pode oferecer uma propriedade extender para o componente de destino especificado.
GetToolTip Recupera o texto da dica associado ao controle especificado.
Hide Oculta a janela de dica especificada.
RemoveAll Remove todo texto da dica atualmente associado com o componente ToolTip.
SetToolTip Associa o texto de dica com o controle especificado.
Show(String, IWin32Window) Define o texto de dica associado ao controle especificado e exibe a dica.
StopTimer Interrompe o timer que oculta as dicas.

As principais propriedades da classe ToolTip são:

Propriedade Descrição
Active  A dica está ativa
AutomaticDelay  Causa um atraso automático para a dica.
AutoPopDelay  O período de tempo na qual a dica permanece visível se o ponteiro estiver parado em um controle com texto da descrição especificado.
InitialDelay  Obtém ou define o tempo que se passa antes de a dica aparecer.
IsBaloon  Obtém ou define um valor que indica se a dica vai usar uma janela de balão.
ReshowDelay  Obtém ou define o período de tempo que deve acontecer antes das janelas da dica aparecerem quando o ponteiro se move de um controle para outro.
ShowAlways  Exibe a dica mesmo se o controle pai não está ativo
ToolTipIcon  Ícone da janela dica.
ToolTipTitle  Título da janela dica.
UseAnimation  Representa se um efeito de animação será usado wuando a dica for exibida
UseFading  Representa se um efeito de desvanecimento deve ser usado ao exibir a dica

  Recursos usados :

Criando o projeto no Visual Studio 2013 e usando a classe ToolTIp

Abra o VS Express 2013 for Windows Desktop e clique em New Project;

A seguir selecione a linguagem Visual Basic e o template Windows Forms Application;

Informe o nome UsandoTooltips e clique no botão OK;

A seguir selecione o formulário padrão form1.vb e partir da ToolBox, os seguintes controles:

A classe Tooltip representa um controle tooltip e uma vez que o objeto ToolTip seja criado podemos chamar o método SetToolTip para definir o texto para a dica e o nome do controle

Usando o método SetToolTip do controle incluído defina o texto para a dica e o nome do controle para o qual deseja que a dica seja atribuída.

No exemplo abaixo estamos definindo o texto da dica como : "Salvar Alterações na base de dados." para o controle Button1 inserido no formulário:

ToolTip1.SetToolTip(Button1, "Salva Alterações na base de dados")
Vamos então definir no evento Load deste formulário um texto para cada controle usando o método SetToolTip :
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Cria a ToolTip e associa com o Form container.
        Dim toolTip1 As New ToolTip()
        ' Define o delay para a ToolTip.
        toolTip1.AutoPopDelay = 5000
        toolTip1.InitialDelay = 1000
        toolTip1.ReshowDelay = 500
        ' Força a o texto da ToolTip a ser exibido mesmo que o form não esta ativo
        toolTip1.ShowAlways = True
        ' Define o texto da ToolTip para o Button, TextBox, Checkbox e Label
        toolTip1.SetToolTip(Me.btnTeste, "Este é o Botão Teste")
        toolTip1.SetToolTip(Me.txtTeste, "Esta é a caixa de texto Teste")
        toolTip1.SetToolTip(Me.chkTeste, "Este é o checkbox Teste")
        toolTip1.SetToolTip(Me.lblTeste, "Esta é Label Teste")
    End Sub
Executando o projeto iremos obter:

Para recuperar o texto da dica associado ao controle especificado usamos o método GetToolTip.

Se o texto de dica de ferramenta é alterado dinamicamente em um aplicativo, você pode usar esse método para descobrir que o texto é exibido em qualquer momento, dependendo do estado do aplicativo

Vamos agora definir algumas propriedades em tempo de execução definindo uma dica especifica para o controle Button - btnTeste.

No evento Load inclua o código abaixo em azul que associa uma dica ao controle Button:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Cria a ToolTip e associa com o Form container.
        Dim toolTip1 As New ToolTip()
        'cria outra ToolTip e associa ao controle Button
        Dim buttonToolTip As New ToolTip()
        buttonToolTip.ToolTipTitle = "Dica ToolTip para o controle Button"
        buttonToolTip.UseFading = True
        buttonToolTip.UseAnimation = True
        buttonToolTip.IsBalloon = True
        buttonToolTip.ShowAlways = True
        buttonToolTip.AutoPopDelay = 5000
        buttonToolTip.InitialDelay = 1000
        buttonToolTip.ReshowDelay = 500
        buttonToolTip.IsBalloon = True
        ' Define o delay para a ToolTip.
        toolTip1.AutoPopDelay = 5000
        toolTip1.InitialDelay = 1000
        toolTip1.ReshowDelay = 500
        ' Força a o texto da ToolTip a ser exibido mesmo que o form não esta ativo
        toolTip1.ShowAlways = True
        ' Define o texto da ToolTip para o Button, TextBox, Checkbox e Label
        'toolTip1.SetToolTip(Me.btnTeste, "Este é o Botão Teste")
        buttonToolTip.SetToolTip(btnTeste, "Nova dica para o botão btnTeste - Clique Aqui.")
        toolTip1.SetToolTip(Me.txtTeste, "Esta é a caixa de texto Teste")
        toolTip1.SetToolTip(Me.chkTeste, "Este é o checkbox Teste")
        toolTip1.SetToolTip(Me.lblTeste, "Esta é Label Teste")
    End Sub

Executando agora o projeto teremos:

Podemos assim, definir dicas diferentes com propriedades diferentes para cada controle de formulário.

Podemos também definindo uma dica em tempo de projeto. Para isso devemos fazer o seguinte:

Nota: ToolTipNome é o nome do controle ToolTip que foi incluído no formulário.

Para o exemplo acima vamos incluir um controle ListBox -lstbTeste - no formulário e a seguir incluir um controle ToolTip alterando seu nome para ToolTip2.

Após isso selecione o controle ListBox e localize e propriedade :ToolTip on ToolTip2 - e defina o texto da dica conforme mostra a figura abaixo:

A seguir defina no controle ToolTip2 as propriedades : ForeColor, IsBalloon, ToolTipTitle conforme mostra a figura a seguir:

Executando o projeto iremos obter para o ListBox o seguinte resultado:

Pegue o projeto completo aqui : Usando_ToolTips.zip

Já estou crucificado com Cristo; e vivo, não mais eu, mas Cristo vive em mim; e a vida que agora vivo na carne, vivo-a pela fé do Filho de Deus, o qual me amou, e se entregou a si mesmo por mim.(apóstolo Paulo)
Gálatas 2:20

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti