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

bigboy123

Detectar CAPSLOCK

34 mensagens neste tópico

Boas mais uma vez  :)

Gostaria de saber como posso fazer para numa textbox quando clicada, se o capslock estiver ligado aparecer uma mensagem com um aviso de capslock ligado, tal como o messenger  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Simples, faz assim Adiciona uma textbox e um Tooltip ao teu form, depois:

Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
        If My.Computer.Keyboard.CapsLock = True And TextBox1.TextLength = 0 Then
            ToolTip1.IsBalloon = True
            ToolTip1.Show("Tem o Capslock ligado!", Me.TextBox1, 0, -(TextBox1.Size.Height + 20), 1500)
        End If
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Simples, faz assim Adiciona uma textbox e um Tooltip ao teu form, depois:

Private Sub TextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus
        If My.Computer.Keyboard.CapsLock = True And TextBox1.TextLength = 0 Then
            ToolTip1.IsBalloon = True
            ToolTip1.Show("Tem o Capslock ligado!", Me.TextBox1, 0, -(TextBox1.Size.Height + 20), 1500)
        End If
    End Sub

Não faz nada  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu testei o código.

Adiciona um botão e mete-o como tabIndex = 0 e o textbox com tabindex = 1, ah e liga o CapsLock ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OPA ! devo estar a fazer algo mesmo muito mal...

A mim não dá até criei otra form só com a textbox e nada  :mad:

O que é que estou a fazer mal ? Fiz tudo como o weasel disse  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OPA ! devo estar a fazer algo mesmo muito mal...

A mim não dá até criei otra form só com a textbox e nada  :mad:

O que é que estou a fazer mal ? Fiz tudo como o weasel disse  :confused:

Adicionaste o evento?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OPA ! devo estar a fazer algo mesmo muito mal...

A mim não dá até criei otra form só com a textbox e nada  :mad:

O que é que estou a fazer mal ? Fiz tudo como o weasel disse  :confused:

ja te tou a entender... tu primeiro deves carregar a textbox e depois é que ligas o capslock... não é?

quando tu clickas na textbox ou ela ganha o focus o Caps Lock tem de já tar ligado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Adicionaste o evento?

Claro que adicionei o evento, se não o adicionasse dava erro ...

ja te tou a entender... tu primeiro deves carregar a textbox e depois é que ligas o capslock... não é?

quando tu clickas na textbox ou ela ganha o focus o Caps Lock tem de já tar ligado...

Ja tentei ter o capslock ligado antes de clicar na textbox e nada..

Isso do Focus não faço a minima ideia do que seja :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Focus é quando a textbox é seleccionada. Ou seja...se nao estiver seleccionada...nao funciona.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aquele código foi testado e funciona, mas tenta então assim, apenas adicionas 4 textboxes à tua form:

Public Class Form1
    Private Sub TextBoxs_CapsLockCheck(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus, TextBox4.GotFocus, TextBox1.KeyUp, TextBox2.KeyUp, TextBox3.KeyUp, TextBox4.KeyUp
        If My.Computer.Keyboard.CapsLock = True And TextBox1.TextLength = 0 Then
            Dim CapsTip As New ToolTip
            CapsTip.IsBalloon = True
            CapsTip.Show("Tem o Capslock ligado!", sender, 0, -(TextBox1.Size.Height + 20), 1500)
        End If
    End Sub
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aquele código foi testado e funciona, mas tenta então assim, apenas adicionas 4 textboxes à tua form:

Public Class Form1
    Private Sub TextBoxs_CapsLockCheck(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus, TextBox4.GotFocus, TextBox1.KeyUp, TextBox2.KeyUp, TextBox3.KeyUp, TextBox4.KeyUp
        If My.Computer.Keyboard.CapsLock = True And TextBox1.TextLength = 0 Then
            Dim CapsTip As New ToolTip
            CapsTip.IsBalloon = True
            CapsTip.Show("Tem o Capslock ligado!", sender, 0, -(TextBox1.Size.Height + 20), 1500)
        End If
    End Sub
End Class

Testado e a funcionar a 100%  :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Devo ter alguma configuração mal para o tooltip não dar nem com o ultimo exemplo do Weasel.

Se eu em vez do tooltip meter um msgbox funciona  :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O ultimo código que coloquei nem precisas de adicionar nenhum Tooltip o código cria um.

Poderá ter sido algum tweak que aplicaste ao teu sistema operativo para desabilitar as tooltips?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O ultimo código que coloquei nem precisas de adicionar nenhum Tooltip o código cria um.

Poderá ter sido algum tweak que aplicaste ao teu sistema operativo para desabilitar as tooltips?

Só pode ser do Windows.

Criei outra form de propósito para fazer a 1ª opção que postaste e esta última, e nada !!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nao esse tambem nao da no meu! Coloco o meu, que funciona a 100%

http://rapidshare.com/files/254201904/capslock_ligado.rar

Obrigado pelos 2 links mas nenhum dos 2 programas funcionou..

Como eu disse dever alguma opção no Windows..

Se calhar o que eu tenho mesmo o melhor a fazer e' para quando carregar num botão, se o CAPSLOCK tiver ligado aparecer uma mensagem a avisar com um dialogresult (yes,no) para prosseguir...

Concordam ? É que assim como eu vou publicar o programa as outras pessoas não tenham este problema...

PS: Eu quando tento meter um acento grave nas letras a mim aparece assim : "é" e para eu fazer isto aparecer normal tenho que ligar o CAPSLOCK e manter precionado o SHIFT para fazer "è" , e se eu tentar meter uma letra maiuscula com acento agudo fica assim "´`E"  :confused::P

Poderá ser disto o problema ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acredita..

Eu tenho portátil e uso o teclado do portátil e otro que está ligado a ele.

Nunca interferio. À pouco tempo é que começou  :rant_01:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se calhar o que eu tenho mesmo o melhor a fazer e' para quando carregar num botão, se o CAPSLOCK tiver ligado aparecer uma mensagem a avisar com um dialogresult (yes,no) para prosseguir...

Concordam ? É que assim como eu vou publicar o programa as outras pessoas não tenham este problema...

Se calhar com msgbox é um bocado intrusivo.Talvez uma pequena label com uma imagem de uma tecla ou um triângulo amarelo, mais uma descrição de que as CAPS estão activas, era mais "suave".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se calhar com msgbox é um bocado intrusivo.Talvez uma pequena label com uma imagem de uma tecla ou um triângulo amarelo, mais uma descrição de que as CAPS estão activas, era mais "suave".

Podes dizer como posso fazer em alternativa da tooltip ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O código é exactamente igual ao que te deram, só que em vez de fazeres aparecer no if a tal tooltip, faz aparecer uma label (escondida previamente com a propriedade visible), com a informação de que o CAPS Lock está activado.

Por exemplo

If ....

  labelAvisoCaps.visible = true

else

  labelAvisoCaps.visible = false

end if

em que "labelAvisoCaps" é uma pequena label escondida que colocas, por exemplo, por baixo da caixa de escrita, ou onde achares mais conveniente.

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