SO NUMEROS E APENAS UMA VIRGULA
Pessoal, será que alguem poderia me dizer como implentar um textbox para receber apenas numeros e somente UMA virgula.
Colocar apenas numero eu consegui, mas queria que a pessoa pudesse digitar a virgula apenas uma vez!
Colocar apenas numero eu consegui, mas queria que a pessoa pudesse digitar a virgula apenas uma vez!
Olá julgado, vou postar em VB.. ai é só converter em C#
Public Function DIGSoNumeros(ByVal intAscii As Integer, ByRef oControle As TextBox) As Integer
Dim i As Integer
[ô]SO DEIXA SER DIGITADA A CADEIA DE CARACTERES : [Ô]0123456789.,[Ô]
If InStr([Ô]0123456789.,[Ô], Chr(intAscii)) = 0 And intAscii <> 8 Then
Return 0
Exit Function
End If
[ô]TROCA O PONTO POR VÃRGULA
If intAscii = 46 Then
intAscii = 44
End If
[ô]NÃO PERMITE A DIGITAÇÃO DE VÃRIAS VÃRGULAS
For i = 1 To oControle.TextLength
If Mid(oControle.Text, i, 1) = Chr(intAscii) And intAscii = 44 Then
Return 0
Exit Function
End If
Next i
Return intAscii
End Function
[ô]ai no keypress vc chama
e.KeyChar = Chr(DIGSoNumeros(KeyAscii, sender))
espero ter ajudado
Public Function DIGSoNumeros(ByVal intAscii As Integer, ByRef oControle As TextBox) As Integer
Dim i As Integer
[ô]SO DEIXA SER DIGITADA A CADEIA DE CARACTERES : [Ô]0123456789.,[Ô]
If InStr([Ô]0123456789.,[Ô], Chr(intAscii)) = 0 And intAscii <> 8 Then
Return 0
Exit Function
End If
[ô]TROCA O PONTO POR VÃRGULA
If intAscii = 46 Then
intAscii = 44
End If
[ô]NÃO PERMITE A DIGITAÇÃO DE VÃRIAS VÃRGULAS
For i = 1 To oControle.TextLength
If Mid(oControle.Text, i, 1) = Chr(intAscii) And intAscii = 44 Then
Return 0
Exit Function
End If
Next i
Return intAscii
End Function
[ô]ai no keypress vc chama
e.KeyChar = Chr(DIGSoNumeros(KeyAscii, sender))
espero ter ajudado
Consegui de uma maneira mais simples, vou postar aqui, mas valeu pela ajudar:
isso é para c#
isso é para c#
Citação:if (e.KeyChar == [ô],[ô])
{
if (maskedTextBox1.Text.Contains(e.KeyChar) == true)
{
e.Handled = true;
e.KeyChar = [ô]0[ô];
}
}
else
{
// Se não é um numero...
if (!Char.IsDigit(e.KeyChar) && e.KeyChar != (char)8)
e.Handled = true;
}
Tópico encerrado , respostas não são mais permitidas