none
Como bloquear uma tecla específica em VB RRS feed

  • Pergunta

  • Boa tarde. Gostaria de saber como faço pra bloquear apenas uma tecla do teclado enquanto roda a aplicação. Especificamente queria bloquear o Numpad0. Não sei como fazer, já tentei alguns códigos, mas só acho pra atalhos, mas não é isso, eu quero apenas pra uma única tecla que eu queira, como o número 0 da calculadora do teclado. Porém não quero que ela seja bloqueada no início da aplicação, mas criei um "Public" de valor 4 chamado "TeclaZERO" e cada vez que aperta o Numpad0 ele vai diminuindo em 1:

    Public Class Form1 Public TeclaZERO = 4

    'Aqui em baixo é no evento KeyDown da Form1: If e.KeyCode = Keys.NumPad0 Then TeclaZERO -= 1 End If

    Criei um Timer chamado de "AppTime" que inicia junto com a form e é esse timer que vai dizer pra aplicação quando é a hora de bloquear o Numpad0, quando ele for apertado o mesmo tanto de vezes que eu colocar na Public TeclaZero:

    Private Sub AppTime_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AppTime.Tick If TeclaZERO = 0 Then 'E é aqui que quero colocar o código para bloquear o Numpad0. End If

    End Sub

    É basicamente isso que eu preciso, colocar um código ali no meio, que bloqueia a tecla Numpad0 se o valor da public for igual a 0.

    Desde já, agradeço se alguém poder ajudar. Obrigado.

    quinta-feira, 2 de fevereiro de 2017 19:17

Respostas

  • Obrigado novamente pela ajuda, mas esses links levam a outros, que estão em C# e eu precisava para VB. Normalmente eu usaria o "codeconverter" para converter de C# para VB.NET. Mas felizmente, fussando aqui já consegui resolver o problema, pensando um pouco consegui desenvolver um código muito simples que resolveu 101% meu problema, sem precisar de muitas linhas de códigos e sem precisar desativar o KeyPreview da form, até porque mesmo desativando ele continua funcionando. De qualquer forma muito obrigado pela sua ajuda.

    sábado, 4 de fevereiro de 2017 22:30

Todas as Respostas

  • Boa tarde Vini,

    Por gentileza, verifique as sugestões neste link:

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/7bbbfdaa-5315-44d0-84c3-c959b77b23ac/disable-some-keys-in-keyboard?forum=csharpgeneral

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    sexta-feira, 3 de fevereiro de 2017 15:43
    Moderador
  • Obrigado novamente pela ajuda, mas esses links levam a outros, que estão em C# e eu precisava para VB. Normalmente eu usaria o "codeconverter" para converter de C# para VB.NET. Mas felizmente, fussando aqui já consegui resolver o problema, pensando um pouco consegui desenvolver um código muito simples que resolveu 101% meu problema, sem precisar de muitas linhas de códigos e sem precisar desativar o KeyPreview da form, até porque mesmo desativando ele continua funcionando. De qualquer forma muito obrigado pela sua ajuda.

    sábado, 4 de fevereiro de 2017 22:30