Comment restreindre la zone de texte en C# pour recevoir uniquement les numéros et (point “.” ou une virgule “,”), après le “.” ou “,” permettre seulement 2 nombre de caractères

je suis en train de développer un code de restreindre la zone de texte à l'aide de C# pour autoriser uniquement les numéros d'entrée + virgule(",") ou le point(".") + à seulement 2 chiffres après le point ou la virgule
Ainsi, de cette façon de voir les nombres possibles qui peuvent d'entrée:

3213,04 = OK
3211,664 = Not
32.31 = OK
32.3214 = Not
334,,00 = Not
3247,.00 = Not
214.,00 = Not
32.. = Not
8465,0 = Ok
654.0 = Ok

Compris Mon objectif ?
J'ai développé le code soufflet

private void txtValormetrocubico_KeyPress(object sender, KeyPressEventArgs e)
{
    if (txtValormetrocubico.TextLength >= 0 && (e.KeyChar == (char)Keys.OemPeriod || e.KeyChar == (char)Keys.Oemcomma))
    {
        //tests 
    }
    else
    {
        if (!char.IsControl(e.KeyChar)
            && !char.IsDigit(e.KeyChar)
            && e.KeyChar != '.' && e.KeyChar != ',')
        {
            e.Handled = true;
        }
        //only allow one decimal point
        if (e.KeyChar == '.' && (sender as TextBox).Text.IndexOf('.') > -1)
        {
            e.Handled = true;
        }

        if (e.KeyChar == ','  && (sender as TextBox).Text.IndexOf(',') > -1)
        {
            e.Handled = true;
        }
    }
}
  • comment au sujet de ce numéro, sans aucun '.' ou ',' est-il bien ou non 123456879