Pergunta

Eu tenho um Winform simples. Nele possui um único controle da caixa de texto. Nisso, eu conectei o evento KeyPress. Por quê? Estou tentando capturar tudo o que o usuário tipos nessa caixa de texto. Mas, quando eles acertarem o retorno ou a entrada, pego tudo o que digitaram e o envio para um analisador de comando para fazer coisas.

Em seguida, eu exibo na tela (em uma caixa de RichText), o que eles digitaram, para que eles saibam que o comando está prestes a ser processado.

Coisas simples.

Mas o problema é quando eu pressiono a tecla 'Backspace'. A GUI exibe o texto incorreto, um personagem estranho que representa o caractere do backspace e depois o texto correto.

Então, se eu digitar isso ... (== a chave do backspace)

abcdxxx<BS><BS><BS>efg

A GUI mostra isso.

Eu quero exibir

abcdefg

(Observe os caracteres xxx e os 3 chars backspace e não exibidos).

Alguma sugestão?

Foi útil?

Solução

No evento, verifique se a tecla é o backspace não o armazenar, em vez disso, exclua o último caractere.

Outras dicas

Tente usar o TextBox.TextChanged Evento em vez disso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top