Просто проверьте, является ли последний символ числовым значением, предпоследний символ - числовое значение, а символ перед ним - точка / точка.
Или, если вы хотите использовать регулярное выражение *, что-то вроде
if (Regex.IsMatch(".[0-9]{2}$", txt1.Text)
{
e.Handled = true;
}
* - это регулярное выражение выполнено из памяти, но оно ищет (намеревается) увидеть, заканчивается ли текст десятичным знаком, а затем 2 цифровыми символами.