Valid double number in C#

텍스트 박스에 “12.5”, “.3”, “-12” 등과 같은 양수/음수의 double 숫자만 입력받을 수 있도록 하려면
(그외에 “abcd”같은 문자나 “12.3.4” 같은 이상한 숫자는 입력받을 수 없도록하기위해)

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// accept only digit(0-9) with ‘.’ (dot) and ‘-‘ (minus)
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && e.KeyChar != ‘.’ && e.KeyChar != ‘-‘)
e.Handled = true;
// accept only one decimal point (.32)
if (e.KeyChar == ‘.’ && (sender as TextBox).Text.IndexOf(‘.’) > -1)
e.Handled = true;
// accept only minus sign at the beginning
if (e.KeyChar == ‘-‘ && (sender as TextBox).Text.Length > 0)
e.Handled = true;
}