OlĂĄ pessoal, depois do evento que aconteceu no JavaVersusDotNet em Taguatinga/DF; resolvi mostrar a todos como descrobrir e criar teclas de atalho no Windows Forms. Falando do evento, foi muito bom e no final o RogĂ©rio da Microsoft mostrou vĂĄrios vĂdeos inovadores.
Requisitos:
Visual Studio.NET 2008
Linguagem C#
Plataforma: Windows Forms
Se vocĂȘ quer aprender a descobrir qual o nĂșmero da tecla para gerar o atalho da maneira certa, leia esse artigo e qualquer dĂșvida pode entrar em contato.
Primeiro passo
No meu caso, vou gerar um novo projeto para mostrar essa funcionalidade âfacinha facinhaâ a vocĂȘ. Cliquei em File / New Project e em seguida (imagem 1)
Imagem 1
Cliquei no Windows Forms Applications, deixei o nome padrĂŁo que veio e cliquei no botĂŁo Ok. (Imagem 2)
Imagem 2
Depois de criar o projeto, cliquei em cima do formulĂĄrio gerado e acessei as propriedades do mesmo. Se apertar o botĂŁo F4, abre as propriedades. (Imagem 3)
Imagem 3
Cliquei na opção events das propriedades. (Imagem 4)
Imagem 4
Escolhi a opção KeyDown clicando duas vezes. O Visual Studio.NET cria automaticamente uma função. (Code 1)
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
}
Code 1
Dentro desse mĂ©todo privado e que nĂŁo retorna valor algum Ă© que, vamos descobrir o nĂșmero de cada tecla de atalho que desejar. Veja o (Code 2).
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
//descobrindo cada tecla de atalho
MessageBox.Show(e.KeyValue.ToString());
}
Code 2
O cĂłdigo que pega o nĂșmero correto da tecla apertada Ă© o KeyValue. Ao iniciar o formulĂĄrio cliquei o botĂŁo ESC. Veja o que apareceu na tela. (Imagem 5)
Imagem 5
Note que foi detectado o nĂșmero da tecla ESC que apertei. Em cima desse botĂŁo detectado, posso gerar alguns atalhos especĂficos; por exemplo: se clicar o botĂŁo ESC a aplicação (formulĂĄrio) se fecha. Veja como ficaria o cĂłdigo. (Code 3)
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
//descobrindo cada tecla de atalho
MessageBox.Show(e.KeyValue.ToString());
//adicionando
if (e.KeyValue.Equals(27))
{
this.Close();
}
}
Code 3
Bom, aqui eu chego ao fim e qualquer dĂșvida pode entrar em contato.