TEXTBOX ACEITA APENAS NUMEROS E HIFEN
Boas galera.
Gostaria de bloquear quase todos os caracteres especiais ou permitir somente o hÃfen.
testei alguns códigos que encontrei aqui no vbmania mas ai da erro na instrução [txt-color=#e80000]Handles[/txt-color]
Ex: tentei utilizar este comando para bloquear um caractere.
Da uma msg de erro assim:
Compile error; user-defined type not defined
utilizo vb6
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles TextBox1.KeyPress
If e.KeyChar = [Ô]/[Ô] Then
e.Handled = True
End If
End Sub
Se souber de algum comando que permita somente números e hÃfen ajuda. vlw
Gostaria de bloquear quase todos os caracteres especiais ou permitir somente o hÃfen.
testei alguns códigos que encontrei aqui no vbmania mas ai da erro na instrução [txt-color=#e80000]Handles[/txt-color]
Ex: tentei utilizar este comando para bloquear um caractere.
Da uma msg de erro assim:
Compile error; user-defined type not defined
utilizo vb6
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles TextBox1.KeyPress
If e.KeyChar = [Ô]/[Ô] Then
e.Handled = True
End If
End Sub
Se souber de algum comando que permita somente números e hÃfen ajuda. vlw
em um módulo
no key press do textbox
Public Sub ApenasNrs(ByRef KeyAsc As Integer)
Select Case KeyAsc
[ô]Se a tecla for numérica (0 - 9) ,backspace (8) ou hifen(-)
Case asc([Ô]0[Ô]) To asc([Ô]9[Ô]), 8, asc([Ô]-[Ô])
Case Else
Beep [ô]Som de erro, nao é necessário
KeyAsc = 0 [ô]Cancela a entrada
End Select
End Sub
no key press do textbox
Private Sub Text1_KeyPress(KeyAscii As Integer)
ApenasNrs KeyAscii
End Sub
Vixi......faz tempo que tinha isso tinha uma função que era [Ô]bala[Ô] rsrsrs procurava conforme digitado na combobox...etc.....
Mas já foi..
Tenta isso:
Private Sub Textbox1_KeyPress(index As Integer, KeyAscii As Integer)
[ô]Accepts only numeric input
Select Case KeyAscii
Case vbKey0 To vbKey9
Case vbKeyBack, vbKeyClear, vbKeyDelete
Case vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDown, vbKeyTab
Case Else
KeyAscii = 0
Beep
End Select
End Sub
http://www.vbforums.com/showthread.php?350067-VB-Numeric-Textbox-input-only
Mas já foi..
Tenta isso:
Private Sub Textbox1_KeyPress(index As Integer, KeyAscii As Integer)
[ô]Accepts only numeric input
Select Case KeyAscii
Case vbKey0 To vbKey9
Case vbKeyBack, vbKeyClear, vbKeyDelete
Case vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDown, vbKeyTab
Case Else
KeyAscii = 0
Beep
End Select
End Sub
http://www.vbforums.com/showthread.php?350067-VB-Numeric-Textbox-input-only
http://www.dreamincode.net/forums/topic/15368-numbers/
Private Sub Text1_KeyPress(KeyAscii As Integer)
[ô]Check the value of KeyAscii
If KeyAscii <> 8 Then
[ô]Now use Instr to check if the text being entered contains any
[ô]one of the numbers listed. If a 0 is returned
[ô]then no numeric values were found, so set KeyAscii to
[ô]0 so no text is inserted into the textbox
If InStr([Ô]0123456789[Ô], Chr(KeyAscii)) = 0 Then KeyAscii = 0
End If
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
[ô]Check the value of KeyAscii
If KeyAscii <> 8 Then
[ô]Now use Instr to check if the text being entered contains any
[ô]one of the numbers listed. If a 0 is returned
[ô]then no numeric values were found, so set KeyAscii to
[ô]0 so no text is inserted into the textbox
If InStr([Ô]0123456789[Ô], Chr(KeyAscii)) = 0 Then KeyAscii = 0
End If
End Sub
Function Aceita(KeyAscii As Integer, ListaPermitidos As String) As Integer
Dim i As Integer
For i = 1 To Len(ListaPermitidos)
If KeyAscii = asc(Mid(ListaPermitidos, i, 1)) Then
Aceita = KeyAscii
Exit Function
End If
Next
Aceita = 0
End Function
Para usar basta colocar a lista de permitidos
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Aceita(KeyAscii, [Ô]0123456789[Ô])
End Sub
Dim i As Integer
For i = 1 To Len(ListaPermitidos)
If KeyAscii = asc(Mid(ListaPermitidos, i, 1)) Then
Aceita = KeyAscii
Exit Function
End If
Next
Aceita = 0
End Function
Para usar basta colocar a lista de permitidos
Private Sub Text1_KeyPress(KeyAscii As Integer)
KeyAscii = Aceita(KeyAscii, [Ô]0123456789[Ô])
End Sub
Vlw galera tenso ter que escolhe uma mas todas funcionam.
Tópico encerrado , respostas não são mais permitidas