Pergunta

Eu sou novo por aqui e eu tenho um pequeno problema com uma aplicação C #. Eu quero capturar a tecla para baixo o evento. Este não foi um problema no começo, mas depois que eu adicionei alguns botões para a forma, a chave para baixo o evento da forma ignora as teclas de seta e move o foco de um botão para a próxima. (A tecla até obras de eventos) Existe uma maneira de parar isto e torná-los fazer outra coisa quando eu segurar as teclas de seta?

Foi útil?

Solução

Set KeyPreview propriedade no formulário para true. Isso permitirá que o formulário para ver o evento keydown além dos controles filho.

Adicione isto a sua forma ...

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData.Equals(Keys.Right))
    {
        MessageBox.Show("Right Key Pressed!");
    }

    return base.ProcessCmdKey(ref msg, keyData);
}

Outras dicas

Se você não quer que o normal da tecla para baixo funcionalidade para os controles que você precisa para definir a chave para baixo o evento em cada controle e definir o atributo tratada para os argumentos do evento para ser verdade, de que maneira isso não acontecer bolha até o construído em funcionalidade de controle.

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