Я не знаю, работает ли это также в c # 2.0, это мой опыт в c # 3.0:
Почему вы используете TextBox_Leave для этого? Событие Validating должно использоваться для проверки правильности ввода.
Объедините использование события Validating с использованием ErrorProvider (вы можете просто перетащить его из панели инструментов на форму), чтобы установить сообщение об ошибке: оно будет отображаться как (мигающий) восклицательный знак в красном треугольнике. *
ErrorProvider также может блокировать любые действия отправки.