Usuário com melhor resposta
Bloquear caracteres especiais ( Acentos, @,$ .....)no TextBox.

Pergunta
-
Respostas
-
Isso pode ser feito usando o Evento KeyPress. Aqui esta um exemplo de como permitir somente letras (maiusculas e minusculas) + espaço.
A idéia é verificar se a tecla pressionada (e.KeyChar) é igual a um caractere valido (ou se esta numa faixa de caracteres) e fazer e.Handled=True caso esteja.
Private Sub textDate_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textDate.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 65) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 90) _ And (Microsoft.VisualBasic.Asc(e.KeyChar) < 97) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122) Then 'space accepted If (Microsoft.VisualBasic.Asc(e.KeyChar) <> 32) Then e.Handled = True End If End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub
fonte:http://www.daniweb.com/software-development/vbnet/threads/114278/textbox-key-press-event
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée- Sugerido como Resposta LeGalli quarta-feira, 14 de novembro de 2012 18:29
- Marcado como Resposta Gustavo M. GuimarãesModerator segunda-feira, 17 de dezembro de 2012 16:46
Todas as Respostas
-
Isso pode ser feito usando o Evento KeyPress. Aqui esta um exemplo de como permitir somente letras (maiusculas e minusculas) + espaço.
A idéia é verificar se a tecla pressionada (e.KeyChar) é igual a um caractere valido (ou se esta numa faixa de caracteres) e fazer e.Handled=True caso esteja.
Private Sub textDate_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textDate.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 65) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 90) _ And (Microsoft.VisualBasic.Asc(e.KeyChar) < 97) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122) Then 'space accepted If (Microsoft.VisualBasic.Asc(e.KeyChar) <> 32) Then e.Handled = True End If End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub
fonte:http://www.daniweb.com/software-development/vbnet/threads/114278/textbox-key-press-event
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée- Sugerido como Resposta LeGalli quarta-feira, 14 de novembro de 2012 18:29
- Marcado como Resposta Gustavo M. GuimarãesModerator segunda-feira, 17 de dezembro de 2012 16:46
-
Isso pode ser feito usando o Evento KeyPress. Aqui esta um exemplo de como permitir somente letras (maiusculas e minusculas) + espaço.
A idéia é verificar se a tecla pressionada (e.KeyChar) é igual a um caractere valido (ou se esta numa faixa de caracteres) e fazer e.Handled=True caso esteja.
Private Sub textDate_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textDate.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 65) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 90) _ And (Microsoft.VisualBasic.Asc(e.KeyChar) < 97) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122) Then 'space accepted If (Microsoft.VisualBasic.Asc(e.KeyChar) <> 32) Then e.Handled = True End If End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub
fonte:http://www.daniweb.com/software-development/vbnet/threads/114278/textbox-key-press-event
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée -
Isso pode ser feito usando o Evento KeyPress. Aqui esta um exemplo de como permitir somente letras (maiusculas e minusculas) + espaço.
A idéia é verificar se a tecla pressionada (e.KeyChar) é igual a um caractere valido (ou se esta numa faixa de caracteres) e fazer e.Handled=True caso esteja.
Private Sub textDate_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textDate.KeyPress If (Microsoft.VisualBasic.Asc(e.KeyChar) < 65) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 90) _ And (Microsoft.VisualBasic.Asc(e.KeyChar) < 97) _ Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122) Then 'space accepted If (Microsoft.VisualBasic.Asc(e.KeyChar) <> 32) Then e.Handled = True End If End If If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then e.Handled = False End If End Sub
fonte:http://www.daniweb.com/software-development/vbnet/threads/114278/textbox-key-press-event
att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée- Editado Eduardo Henrique Antunes quarta-feira, 14 de novembro de 2012 22:12
-
Sim.. é so fazer :
If (listacaracters.Contains( Microsoft.VisualBasic.Asc(e.KeyChar) ) then e.Handled = False end if
Ou seja, se o caractere esta na lista de caracteres invalidos, bloqueie. A lista pode ser o items da sua listbox.
Mas eu ainda prefiro fazer por faixa de caracteres permitidos como o exemplo acima. Para permitir numeros basta mudar a faixa
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 65) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 90) _ And (Microsoft.VisualBasic.Asc(e.KeyChar) < 97) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122)_ And (Microsoft.VisualBasic.Asc(e.KeyChar) < 47) Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 59)_ Then
os numeros vao de 48 a 57 (codigo ascii)
Att
William John Adam Trindade
Analyste-programmeur
----------------------------------------------------------
Sogi informatique ltée- Editado William John Adam TrindadeModerator quarta-feira, 9 de maio de 2018 18:19