• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

PJM

Verificar se o botão direito do rato foi pressionado [Resolvido]

9 mensagens neste tópico

Pessoal no VB 6.0 eu usava:

if Button = vbmouseright then
'código aqui
end if 

No VB .net tentei isto:

    Private Sub ListBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseClick
        If MouseButtons = Windows.Forms.MouseButtons.Right Then
            MsgBox("a")
        End If
    End Sub

e nada, alguém sabe o que está mal?

Cumprimentos e obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nos MouseEventArgs (e) não vem a informação do botão clickado?

MouseButtons é o quê nesse contexto?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

POis não sei :\ eu fiz mesmo por tentativa porque não encontro o raio do comando que recebe a informação de qual o botão foi clicado, já tentei com o sender e nada  :hmm:

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o sender é o objecto que foi clickado...deixa cá testar isso...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

usa isto:

If e.Button==MouseButtons.Right

as informações sobre o click vêm no MouseEventArgs

o source é o objecto que foi clikado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Amigo meti

    Private Sub ListBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseClick
        If e.Button = Windows.Forms.MouseButtons.Right Then
            MsgBox("a")
        End If
    End Sub

e não fez nada :S

Estarei a fazer algo mal?

Obrigado e cumps.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

acho que o problema no teu código é que uma ListBox não suporta rigth click logo não dispara o evento! Se meteres o código num form já funciona bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só tens uma coisa errada ... o evento.

É MouseDown ou MouseUp e não MouseClick. O MouseClick só "dispara" quando é clicado um item.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só tens uma coisa errada ... o evento.

É MouseDown ou MouseUp e não MouseClick. O MouseClick só "dispara" quando é clicado um item.

Ahh pois é, nem tinha reparado nisso.

Tens razão jpaulino assim dá.

vitortomaz apesar de ser em C# em VB 2008 .net também dá :)

Já agora aqui fica o código final:

    Private Sub ListBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseUp
        If e.Button = MouseButtons.Right Then
            MsgBox("a")
        End If
    End Sub

Obrigado

0

Partilhar esta mensagem


Link 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