validação de caixa de texto para permitir um “. Valor c #

Eu quero validação de caixa de texto para permitir apenas um. valor e apenas números. Significa que meu valor de caixa de texto deve levar apenas valores numéricos e um. valor. O valor deve ser como 123,50. Eu estou usando um código para adicionar.oo ou.50 valor no final do meu valor. Meu código é

double x;
double.TryParse(tb.Text, out x);
tb.Text = x.ToString(".00");

Está tirando todas as chaves do teclado, mas eu quero pegar apenas números e um. valor.

questionAnswers(8)

yourAnswerToTheQuestion