Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Chamuanza

[Resolvido] Problema com Tooltip

Mensagens Recomendadas

Chamuanza

Um Bem Aja a Todos

Tenho num Form um StatusStrip1 com cinco (5) ToolStripStatusLabel5

Queria colocar em duas (2) ToolStripStatusLabel notas através do código abaixo indicado mas apresenta este erro:

Error 1 Value of type 'System.Windows.Forms.ToolStripStatusLabel' cannot be converted to 'System.Windows.Forms.Control'.

//
 Private Sub ToolStripStatusLabel3_MouseHover(sender As Object, e As EventArgs) Handles ToolStripStatusLabel3.MouseHover
    If ToolStripStatusLabel3.Enabled = True Then
	    ToolTip1.SetToolTip(ToolStripStatusLabel3, "Clique Aqui para alterar o Valor da Aposta")
    Else
	    Exit Sub
    End If
   End Sub

Como posso dar a volta a esta situação

Testei com um projecto novo para testar e dá o mesmo erro

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ribeiro55

Olá CRLF,

ToolStripItems são casos especiais que não herdam do Forms.Control.

Como tal, as tooltips devem ser geridas com membros do container (esse sim, herda do Forms.Control).

O primeiro passo é passar True para o ShowItemToolTips, propriedade da StatusStrip, que por defeito está a False.

Esta propriedade diz à StatusStrip que deverá implementar uma ToolTip para cada ToolStripItem que tenha ToolTipText, o que nos leva ao segundo passo, que é definir directamente na ToolStripStatus a tooltip a mostrar, através da propriedade ToolTipText.

Deixo-te abaixo um exemplo, ligeiramente adaptado para funcionar com múltiplos disparos de eventos.

    Private Sub ToolStripStatusLabel3_MouseHover(sender As Object, e As EventArgs) Handles ToolStripStatusLabel3.MouseHover
       Dim tssl As ToolStripStatusLabel = sender

       If tssl.Enabled = True Then
           tssl.ToolTipText = "Clique Aqui para alterar o Valor da Aposta"
       End If

   End Sub

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       StatusStrip1.ShowItemToolTips = True
   End Sub

Tem em conta que esta tua solução de definir a tooltip no MouseHover não é ideal e que pode resultar em não mostrar a tooltip sem que tenhas de tirar o rato e voltar a colocar.

Sugiro que definas a ToolTipText dos labels no mesmo sítio onde os pões activos e inactivos, tendo o cuidado de passar String.Empty à ToolTipText quando não queres mostrar.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.