Pergunta

Para uma determinada inputform, eu gostaria de torná-lo possível fazer entrada com o teclado. Eu sei como ler as chaves através KeyPressed e KeyUp, mas o problema é que quando um controle tem o foco e o usuário pressiona a tecla Enter, que o controle recebe o evento um clique. É possível evitar esse comportamento? Ou é possível saber se um evento Click foi demitido pelo mouse ou pelo teclado?

Foi útil?

Solução

Será que isso ajuda? De Microsoft Knowledge Base

Mover o código do botão da button.Click () para um button.MouseClick ()

Outras dicas

Este seria mais fácil se você pudesse descrever a situação e o comportamento exato que você quer ...:)

Você pode definir:

Form.KeyPreview = True

Isso envia eventos importantes para o formulário em primeiro lugar, e depois para o controle. Isto dá-lhe a oportunidade de pegar Principais eventos no formulário e 'cancelar' eles:

e.Handled = True

Mais informações

Além disso, certifique-se não tiver definido a AcceptButton para o formulário!

Você também pode ouvir eventos de teclado e filtrar as chaves.

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