Caixas de texto o que há de
novo ?
O VB.NET trouxe muitas novidades , na verdade as novidades são tantas que as vezes você pode ficar meio perdido em algumas tarefas básicas que estava acostumado a realizar com um pé na costa no seu velho e bom VB 6.0 ( ou VB 5.0).
Creio que um dos controles de formulário mais
utilizado seja a famosa caixa de texto . Bem a primeira coisa que você deve
saber é que o nome padrão dela mudou na versão .NET: passou de Text1
para TextBox1 . Neste dica eu vou mostrar algumas tarefas básicas usando as
caixas de texto , como era feito no VB 5/6 e como é feito no VB.NET .
1 - Não permitir que beep soe ao pressionar a tecla ENTER.
VB6 - atribuimos o valor zero a KeyAscii
Private Sub Text1_KeyPress(KeyAscii As Integer)
' ao pressionar ENTER atribuímos o valor zero a KeyAscII
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
End If
End Sub
|
VB.NET - atribuimos True a propriedade Handled (Keychar representa a tecla pressionada)
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
' ao pressionar ENTER atribuimos True a e
If e.KeyChar = Convert.ToChar(Keys.Return) Then
e.Handled = True
End If
End Sub
|
2 - Trocar uma tecla pressionada por outra tecla
VB6: No evento KeyPress atribuimos o novo valor da tecla a KeyAscii
|
Private Sub
Text1_KeyPress(KeyAscii As
Integer) ' troca o ponto pela virgula If KeyAscii = Asc(".") Then KeyAscii = Asc(",") End If End Sub |
VB.NET - usamos SendKeys
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
' troca ponto por virgula
If e.KeyChar = "."c Then
e.Handled = True
' envia a nova tecla
SendKeys.Send(",")
End If
End Sub
|
3 - Selecionar todo o texto quando o controle recebe o foco.
VB6 - Usamos o evento GotFocus e as propriedades SelStart e SelLength.
Private Sub Text1_GotFocus()
With Text1
.SelStart = 0
.SelLength = Len(.Text)
End With
End Sub
|
VB.NET - Usamos o evento Enter e a propriedade SelectAll()
Private Sub TextBox1_Enter(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles TextBox1.Enter
TextBox1.SelectAll()
End Sub
|
4- Selecionar parte de um texto no controle TextBox
VB6 - Podemos usar o evento Click - Abaixo selecionamos a partir da primeira posição 4 caracteres.
Private Sub Text1_Click()
Text1.SelStart = 0 ' inicia seleção na primeira posição
Text1.SelLength = 4 ' seleciona 4 caracteres
End Sub
|
VB.NET - Praticamente identico ao VB 5/6 .
Private Sub TextBox1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles seleccionarBtn.Click
TextBox1.SelectionStart = 0 ' inicia seleção na primeira posição
TextBox1.SelectionLength = 4 ' seleciona 4 caracteres
End Sub
|
5- Copiar o texto selecionado para a área de transferência
VB6 -
Private Sub Text1_Click()
' copiar a seleção para o clipboard
If Text1.SelLength > 0 Then
Clipboard.SetText Text1.SelText
Else
' copiar todo o texto
Clipboard.SetText Text1.Text
End If
End Sub
|
VB.NET -
Private Sub TextBox1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles copiarBtn.Click
If TextBox1.SelectionLength = 0 Then
TextBox1.SelectAll()
End If
TextBox1.Copy()
End Sub
|
6- Pegar o texto da área de transferência
VB6 -
Private Sub Text1_Click()
If Text1.SelLength > 0 Then
Text1.SelText = Clipboard.GetText
Else
Text1.Text = Clipboard.GetText
End If
End Sub
|
VB.NET -
Private Sub TextBox1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles PegarBtn.Click
If TextBox1.SelectionLength = 0 Then
TextBox1.SelectAll()
End If
TextBox1.Paste()
End Sub
|
7- Cortar o texto selecionado
VB6 -
Private Sub Text1_Click()
If Text1.SelLength > 0 Then
Clipboard.SetText Text1.SelText
Text1.SelText = ""
End If
End Sub
|
VB.NET -
Private Sub TextBox1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) _
Handles cortarBtn.Click
If TextBox1.SelectionLength > 0 Then
TextBox1.Cut()
End If
End Sub
|
Aguarde mais dicas VB.NET . até lá...
![]()
José Carlos Macoratti