none
Teclas atalho no formulário RRS feed

  • Pergunta

  • Olá

    Gostaria de saber se alguém sabe como que faz para ao apertar uma tecla acionar o evento de click do botao.
    Por exemplo:

    Aperto F4, o botão Cadastrar é acionado

    Tente no keypress, keydown dos events do form mas nenhum funcionou

    Agradeço desde já
    quarta-feira, 17 de dezembro de 2008 18:55

Respostas

  • Olá Renan,

     

    Para o formulário capturar as teclas pressionadas em outros controles, você primeiro precisa alterar a propriedade KeyPreview para true.

     

    Depois, basta você tratar as teclas no evento KeyUp (ou KeyDown, se preferir):

     

    Code Snippet

     

     private void SeuFormulario_KeyUp(object sender, KeyEventArgs e)

     {

    // Usuário pressionou F4?

    if (e.KeyData == Keys.F4)

    {

    // Sim... Dispara o click do botão Cadastrar

    btnCadastrar_Click(sender, e);

    }

     }

     

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    quarta-feira, 17 de dezembro de 2008 19:56
    Moderador

Todas as Respostas

  •  

    Olá!

     

    Mude a propriedade KeyPreview do form para True e no evento onkeydown adicione:

     

    if (e.KeyCode == Keys.F4)

    // adicione o código do botão

     

     

    Abraços

    quarta-feira, 17 de dezembro de 2008 19:43
  • Olá Renan,

     

    Para o formulário capturar as teclas pressionadas em outros controles, você primeiro precisa alterar a propriedade KeyPreview para true.

     

    Depois, basta você tratar as teclas no evento KeyUp (ou KeyDown, se preferir):

     

    Code Snippet

     

     private void SeuFormulario_KeyUp(object sender, KeyEventArgs e)

     {

    // Usuário pressionou F4?

    if (e.KeyData == Keys.F4)

    {

    // Sim... Dispara o click do botão Cadastrar

    btnCadastrar_Click(sender, e);

    }

     }

     

     

    Abraços,
    Caio Proiete




    Caio Proiete
    http://www.caioproiete.com
    quarta-feira, 17 de dezembro de 2008 19:56
    Moderador
  • É isso mesmo
    !

    Muito obrigado Ediberto

    vlw

    abraços
    quarta-feira, 17 de dezembro de 2008 19:58
  • Olá Renan!

    Acredito que o seu código esteja igual ao código abaixo, com isso acho que esta faltando vc colocar a  Propriedade KeyPreview do Form como True.

     

    private void btnCadastrar_Click(object sender, EventArgs e)

    {

    MessageBox.Show("Cadastro");

    }

    private void Form1_KeyDown(object sender, KeyEventArgs e)

    {

    if (e.KeyCode.Equals(Keys.F4))

    button1_Click(sender, e);

    }

     

    Abraços

    quarta-feira, 17 de dezembro de 2008 19:58