SO NUMEROS E APENAS UMA VIRGULA

JULGADO 31/07/2011 16:37:38
#380442
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!
MAXCIM 31/07/2011 16:54:37
#380445
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
JULGADO 31/07/2011 17:20:40
#380446
Consegui de uma maneira mais simples, vou postar aqui, mas valeu pela ajudar:
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