VB .NET - TextBox - Selecionar todo o texto ao receber o foco.


Você já deve estar cansado de saber como selecionar todo o texto de um controle TextBox. Como era mesmo ?

Você usava o evento GotFocus e no VB.NET houve mudanças sendo que o evento Focus ocorre na seguinte sequência:

  1. Enter  - ocorre quando o controle é entrado.
  2. GotFocus - ocorre quando o controle recebe o foco.
  3. Leave  - ocorre quando o foco deixa o controle
  4. Validating - ocorre quando o controle esta validando
  5. Validated - ocorre quando termina a validação.
  6. LostFocus - ocorre quando o controle perde o foco.

Se a propriedade CausesValidation for definida como False os eventos Validating e Validated são suprimidos.

1-) No Visual Basic  5/6  costumava-se usar o seguinte código:

- No evento GotFocus do TextBox inseríamos o código abaixo:

Private Sub Text1_GotFocus()
    ' selecionar o texto ao receber o foco
    With Text1
        .SelStart = 0
        .SelLength = Len(.Text)
    End With
End Sub

E no VB .NET ?  

2-) No Visual Basic .NET  é mais simples ainda , usamos apenas uma linha de código no evento Enter:

Private Sub TextBox1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.Enter
    ' selecionar e texto ao receber o foco
    TextBox1.SelectAll()
End Sub

E em C# ? 

3-) Em C#  é quase igual ao VB .NET :(ao estilo Java)

private void textBox1_Enter(object sender, System.EventArgs e)
{
    textBox1.SelectAll();
}

Percebeu que estamos usando , no caso do VB.NET e C# o evento Enter ; Embora ainda exista o evento GotFocus não é exibido na lista de eventos disponíveis.

A Microsoft recomenda usar os eventos : Enter e Leave. (O evento Enter vem primeiro que o evento GotFocus)

Até a próxima dica VB .NET

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter
 

Referências:


José Carlos Macoratti