none
Identificar uma tecla foi apertada

    Question

  • Eu queria saber que tipo quando o usuario do programa apertar f1 o programa fazeria um comando exemplo Textbox1.text = "Uma tecla foi pressionada"

    Poderiam mim ajudar?

    Friday, April 05, 2013 12:45 AM

All replies

  • Olá!

    Estuda este artigo: http://www.macoratti.net/vbn_keyp.htm

    Ele explica sobre os eventos keydow e keypress do vb.net.

    Att.

    Giovani

    Friday, April 05, 2013 2:13 AM
  • Olá!

    Estuda este artigo: http://www.macoratti.net/vbn_keyp.htm

    Ele explica sobre os eventos keydow e keypress do vb.net.

    Att.

    Giovani


    Eu num itendi isso ai nem a pau
    Friday, April 05, 2013 10:22 AM
  • Os eventos KeyPress e KeyDown são realmente "misteriosos". Por exemplo: se eu crio um FORM branco na tela e simplesmente coloco um KEYDOWN nesse Form, beleza, funciona perfeitinho. Já se eu colocar instrução FOR - NEXT dentro desse FORM o KeyDown só será executado depois de todo procedimento FOR - NEXT ser completado (tenta interromper isso com o ESC).

    Já se tu colocar um BUTTOM, aí se foi o KeyDown por água abaixo.

    Ê coisinha complicada. Até hoje eu tento interromper um FOR - NEXT ou WHILE END WHILE com ESC e não consigo sucesso.

    Friday, April 05, 2013 5:11 PM
  • Olá !

    Alec para vc conseguir bloquear sugiro que você faça chamadas em 2 threads separe o seu for em 1 assícrona e lá você consegue abortar a thread, o jeito mais simples para quem não conhece threads pode-se usar o backgroundworker:


    Att, Afonso Fernandes.

    • Proposed as answer by Alec Candia Saturday, April 06, 2013 3:50 AM
    Friday, April 05, 2013 5:46 PM
  • já gusdnide você pode

    programar no evento KeyDown, a cada tecla apertada ele dispara um evento e com o parametro 'KeyEventArgs e ' você consegue saber qual tecla foi pressionada:

    no evento keyDown use:

    if e.KeyCode = Keys.F1 then

    abraços !


    Att, Afonso Fernandes.

    • Proposed as answer by Softlesk Thursday, April 11, 2013 2:36 PM
    Friday, April 05, 2013 5:48 PM
  • Amigo,

    Com treino e paciência você irá entender. Veja um exemplo básico.

    Crie um novo formulário em branco em um novo projeto. Altere a propriedade KEYPREVIEW para true do formulário. Adicione um textbox e um label.

    E coloque o seguinte código no evento keydow para você ver o que acontece:

    Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
            Select Case e.KeyCode
                Case Keys.F1
                    TextBox1.Text = "Você apertou a tecla F1"
                    TextBox1.SelectAll()
                    Label1.Text = TextBox1.Text
                Case Keys.F2
                    TextBox1.Text = "Você apertou a tecla F2"
                    TextBox1.SelectAll()
                    Label1.Text = TextBox1.Text
                Case Else
                    TextBox1.Text = Chr(e.KeyValue)
                    TextBox1.SelectAll()
                    Label1.Text = TextBox1.Text
            End Select
        End Sub

    Isso é um exemplo básico para ajudar você a ter uma noção de como funciona esses eventos. Espero que com isso, você possa compreender melhor e aprofundar seus estudos nessa área.

    Att.

    Giovani

    • Proposed as answer by Softlesk Thursday, April 11, 2013 2:36 PM
    Friday, April 05, 2013 9:26 PM
  • Afonso, muito boa a ideia da thread em segundo plano. 

    Ainda tenho muito chão para estudar e hoje aprendi uma coisa nova. Que bom. Valeu demais a dica. Obrigado.

    Saturday, April 06, 2013 3:51 AM