Я бы использовал элемент управления NumericUpDown вместо TextBox.Там вы можете установить min на 1, max на 2, и ваш пользователь может вводить цифры или использовать клавиши со стрелками для увеличения / уменьшения.
Если вы ДОЛЖНЫ использовать TextBox, установите для свойства MaxLength значение 1, идобавить событие KeyDown и обработчик.В обработчике вы можете сделать:
if(!(e.KeyCode == Keys.D1 || e.KeyCode == Keys.D2 || E.KeyCode == Keys.Delete))
{
// Of course, you can add even more keys up there. For example, you might add Keys.Numpad1 etc...
e.handled = true;
}
Итак, для TextBox вы уже поступили правильно, в основном.