DUAS DUVIDAS SOBRE PRESSIONAMENTO DE TECLAS
tenho duas duvidas sobre pressionamento de teclas:
duvida 1:
Gostaria que quando eu pressionasse o ponto (.) ele trocasse automaticamente por virgula (,)
duvida 2:
dentro de um textbox não aceitar nenhuma tecla alem de 0 (zero) até 9 e virgula.... quando eu precionasse a letra A por exemplo, não aparecesse.... e nem outra qualquer... somente numero e virgula
duvida 1:
Gostaria que quando eu pressionasse o ponto (.) ele trocasse automaticamente por virgula (,)
duvida 2:
dentro de um textbox não aceitar nenhuma tecla alem de 0 (zero) até 9 e virgula.... quando eu precionasse a letra A por exemplo, não aparecesse.... e nem outra qualquer... somente numero e virgula
tenho esses
ou
só numeros
If ((e.KeyChar < [Ô]0[Ô]) Or (e.KeyChar > [Ô]9[Ô]) And (e.KeyChar <> Chr(8))) Then
Beep()
e.Handled = True
End If
ou
If Not IsNumeric(Chr(KeyAscii)) and KeyAscii <> 8 Then
msgbox [Ô]Digite apenas números por favor!![Ô]
KeyAscii = 0
Exit Sub
End If
só numeros
ve se esse topico pode te ajudar tabem com relaca as virgulas
www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=337647&varWorld=
www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=337647&varWorld=
ou digite isso aqui no evento keypress do text para so aceitar numeros
Select Case KeyAscii
Case 48 To 57, vbKeyBack, vbKeyDelete
Case Else: KeyAscii = 0
End Select
Esse de trocar o ponto por virgula eu nao entendi
Tente assim:
Private Sub tbxMicrons_Fundo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tbxMicrons_Fundo.KeyPress
[ô]Somente números, pontos e vÃrgulas.
If Not Char.IsNumber(e.KeyChar) _
And Not e.KeyChar = vbBack _
And Not e.KeyChar = [Ô].[Ô] _
And Not e.KeyChar = [Ô],[Ô] Then
e.Handled = True
End If
Dim iAscii As Integer
iAscii = Asc(e.KeyChar)
Select Case iAscii
Case 48 To 57, 8, 13, 44
Case 46
e.KeyChar = vbBack
e.KeyChar = [Ô],[Ô]
End Select
End Sub
Private Sub tbxMicrons_Fundo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tbxMicrons_Fundo.KeyPress
[ô]Somente números, pontos e vÃrgulas.
If Not Char.IsNumber(e.KeyChar) _
And Not e.KeyChar = vbBack _
And Not e.KeyChar = [Ô].[Ô] _
And Not e.KeyChar = [Ô],[Ô] Then
e.Handled = True
End If
Dim iAscii As Integer
iAscii = Asc(e.KeyChar)
Select Case iAscii
Case 48 To 57, 8, 13, 44
Case 46
e.KeyChar = vbBack
e.KeyChar = [Ô],[Ô]
End Select
End Sub
Essa função já faz as duas coisas que vc quer:
Public Function VerificaValor(vTecla As Integer) As Integer
[ô] Função para permitir apenas a digitação de valores
Select Case vTecla
Case 8, 44, 48 To 57
VerificaValor = vTecla
Case 46
VerificaValor = 44
Case Else
VerificaValor = 0
End Select
End Function
Public Function VerificaValor(vTecla As Integer) As Integer
[ô] Função para permitir apenas a digitação de valores
Select Case vTecla
Case 8, 44, 48 To 57
VerificaValor = vTecla
Case 46
VerificaValor = 44
Case Else
VerificaValor = 0
End Select
End Function
MSMJUDAS, como eu faço para usar ela no textbox ?
Citação::
MSMJUDAS, como eu faço para usar ela no textbox ?
Vc tem que usar a função no KeyPress do campo texto, ex.:
Private Sub TxtNumeros_KeyPress(KeyAscii As Integer)
KeyAscii = VerificaValor(KeyAscii)
End Sub
Tópico encerrado , respostas não são mais permitidas