none
Problema com o evento KeyPress do form RRS feed

  • Pergunta

  • Certo! Boa noite, galera!

    Estou fazendo uma aplicação para fins didáticos utilizando um RFID Reader USB. Notei que ao aproximar um cartão do leitor, o Windows automaticamente detecta a resposta do leitor e transmite essa resposta para qualquer campo de texto que esteja selecionado como se algumas teclas do teclado estivessem sendo pressionadas. Tendo isso em mente, tentei utilizar o evento KeyPress do form para obter estes dados e coloca-los em um textbox com a propriedade "enable" como false. Além disso, alterei a propriedade KeyPreview do form para true. Funcionou perfeitamente! O problema é quando adiciono algum controle, como um botão, com a propriedade enable como true.

    O evento KeyPress do form está assim:

    private void Form1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (textBox1.TextLength >= 11)
            textBox1.Text = "";
        textBox1.Text += e.KeyChar.ToString();
    
    }

    O que acontece é quando um controle qualquer está com a propriedade enable igual a true, o tamanho da string no textbox fica variando entre 0 e 12. Na primeira vez, ele pega o código perfeitamente, mas me retorna um Length igual a 10, sendo que na verdade deveriam ser 11. Percebi também que um ou mais caracteres retornam como caracter especial. Portanto, na maioria das vezes ele não me retorna o código correto. Só retorna quando a propriedade enable dos controles estão como false.Se alguém souber uma solução para isso e o motivo pra isto, por favor, me explique!!!! Ou também se tiverem outra sugestão...

    Desde já, obrigado!!


    • Editado Lucas CS segunda-feira, 7 de agosto de 2017 00:11
    segunda-feira, 7 de agosto de 2017 00:08

Respostas

  • Bom dia,

    Por falta de retorno, essa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    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.

    segunda-feira, 21 de agosto de 2017 13:13
    Moderador

Todas as Respostas

  • Boa tarde, Lucas CS.

    Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,


    Filipe B de Castro

    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.

    segunda-feira, 7 de agosto de 2017 20:56
    Moderador
  • Seria mais um "Break Fix/Erro"
    quarta-feira, 9 de agosto de 2017 19:20
  • Boa tarde, Lucas CS.

    Ele te mostra alguma mensagem de erro, ou algo do gênero?

    Atenciosamente,

    Filipe B de Castro

    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, 11 de agosto de 2017 20:33
    Moderador
  • Boa noite!!

    Então, ai que está... não mostra nenhuma mensagem!! Simplesmente não funciona corretamente quando há qualquer controle com a propriedade enable setada como "true" no form.

    sábado, 12 de agosto de 2017 23:11
  • Boa tarde, Lucas CS. Tudo bem?

    Você conseguiu algum avanço no teu caso? Como está a situação, por favor nos diga para que possa ser ajudado.

    Atenciosamente,

    Filipe B de Castro

    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, 18 de agosto de 2017 20:01
    Moderador
  • Bom dia,

    Por falta de retorno, essa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    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.

    segunda-feira, 21 de agosto de 2017 13:13
    Moderador