ID do artigo: 320584 - Última revisão: segunda-feira, 11 de dezembro de 2006 - Revisão: 2.4 Como interceptar pressionamentos de teclas em controles usando translation from VPE for Csharp Visual
Nesta páginaSumárioEste artigo passo a passo demonstra como interceptar pressionamentos de teclas em controles Windows Forms. Usando o código de exemplo neste artigo, você pode interceptar praticamente qualquer pressionamento de tecla individual. Você também pode interceptar combinações de teclas, incluindo CTRL e ALT. Essa técnica não captura a tecla Print Screen. Além disso, alguns pressionamentos de teclas de teclados com chaves adicionais, como chaves que controlam um navegador da Web ou um player de CD-ROM, não podem ser capturados. Para a maioria dos fins, os eventos de KeyPress , KeyDown e KeyUp padrão são suficientes para capturar e manipular pressionamentos de teclas. No entanto, não todos os controles aumentam esses eventos para todos os pressionamentos de teclas em todas as condições. Por exemplo, considere o controle DataGrid : se nenhum dado tiver sido atribuído para a grade, as teclas de direção (esquerda, direita, seta para cima e seta para baixo) gerar somente o evento KeyUp . Outras teclas, como A ou 4, aumentar todos os três eventos. Se o DataGrid no momento é exibir dados, nenhum dos eventos de teclado padrão são disparados para as teclas de navegação. Pressionamentos de teclas, como A 4 não eventos, elevar somente KeyUp ou disparar eventos todas as três, dependendo do que é selecionado no controle. Nessas situações, você pode seguir as etapas neste artigo para capturar pressionamentos de teclas, independentemente do estado do controle. Os exemplos de código neste artigo são gravados para trabalhar com DataGrid , porque o DataGrid é o controle para o qual esse recurso é solicitado com mais freqüência. Você pode usar a mesma abordagem com outros controles .NET. Configurar a interceptação de chavePara interceptar pressionamentos de teclas em um controle Windows Forms, você deve derivar uma nova classe é baseada na classe do controle que você deseja, e você substituir o método ProcessCmdKey . Este método substituído, você colocará o código para processar o pressionamento de teclas que você deseja ajustar o registro. O código de exemplo a seguir é um exemplo da estrutura básica de como uma classe:Implementar o método substituídoO sistema passa dois parâmetros para o método ProcessCmdKey : msg e keyData . O parâmetro de msg contém a mensagem de Windows, como WM_KEYDOWN. O parâmetro keyData contém o código da chave que foi pressionado. Se CTRL ou ALT estava pressionada também, o parâmetro keyData contém as informações de ModifierKey.Usando o parâmetro de msg não é obrigatória; você pode ignorá-la. É recomendável, no entanto, para testar a mensagem. Neste exemplo, você testar WM_KEYDOWN para verificar que este é um evento de pressionamento de tecla. Você também testar WM_SYSKEYDOWN, para que seja possível capturar as combinações de pressionamento de tecla incluem teclas de controle (principalmente ALT e CTRL). Para interceptar a teclas específicas, você pode avaliar o keyCode, comparando-a enumeração de Keys . O seguinte exemplo de código demonstra como capturar as teclas seta para cima, seta para baixo, TAB, CTRL+M e ALT + Z: Criar um exemploO exemplo a seguir mostra como interceptar pressionamentos de tecla com o controle DataGrid .
A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 320584
(http://support.microsoft.com/kb/320584/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início