none
Alternar entre TextBoxs com Enter (Windows Form) RRS feed

  • Pergunta

  • Olá a todos, tenho uma aplicação Windows Form e não sei como alternar entre os TextBoxs a partir de Enter, agradeço alguma informação.
    quinta-feira, 31 de agosto de 2006 13:35

Todas as Respostas

  • Ola,

    No evento KeyPress do TexBox que voce que apertar o Enter e ele mudar o Foco faça o seguinte:

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

    If e.KeyChar = Chr(13) Then

    TextBox2.Focus()

    End If

    End Sub

    Alvaro Neto.

    quinta-feira, 31 de agosto de 2006 16:10
  • Olá,

    Você pode usar algumas tecnicas como: SendKeys.Send("{TAB}") no evento Keypress do form ou Me.ProcessTabKey(True)

    Existindo apenas esses dois textboxes obviamente. De outra forma, faça como o colega escreveu acima.

    quinta-feira, 31 de agosto de 2006 16:13
  • Ola Cadu,

    Na minha opinião, a forma mais limpa de implementar esse comportamento é o seguinte:
    No formulário em que esta contido os componentes TextBoxs, adicione o seguinte código no evento KeyDown:

    //Esse trecho de código verifica se a tecla pressionada foi o Enter (Return), simulando o comando de tabulação.
    =============================================
    if
    (e.KeyCode == Keys.Return)
      this.ProcessTabKey(true);
    =============================================

    Observações:
    1) Para o correto funcionamento, a propriedade KeyPreview tem que esta abilitada, fazendo com que os eventos de teclado dos controles passem antes pelos manipuladores de evento do Form.

    2) O Form não pode possuir um botão setado na propriedade AcceptButton. Isso porque toda vez que você pressionar a Tecla ENTER, o form ira ignorar o eventos de teclado e irá executar o evento Click do botão em questão.

    Guilherm Del Cantoni

    sexta-feira, 1 de setembro de 2006 17:32
  • Boa Noite,

    Eu prefiro fazer desse jeito.

    If e.KeyChar = Chr(Windows.Forms.Keys.Return) Then

    ProcessTabKey(True)

    End If

     

    O KeyPreview do Form tem q está como True

    Acho que pode e ajudar...

    segunda-feira, 4 de setembro de 2006 23:21
  • eu uso assim no evento KeyPreviw do form

    if e.KeyChar = Convert.ToChar(13) then

     e.Handled = True

    SendKeys.Send("{TAB}")

    end if

     

    quarta-feira, 20 de setembro de 2006 11:54