Я новичок в C # и разрабатываю базовое приложение.
Я хочу проверить, является ли значение текстового поля числом со следующим кодом:
private void check_value(object sender)
{
TextBox tb = (TextBox)sender ;
if (!Utility.isNumeric(tb.Text)){
MessageBox.Show(tb.Text.Length.ToString());
tb.Focus();
}
}
private void Amount_1_LostFocus(object sender, RoutedEventArgs e)
{
check_value(sender);
}
Когда я вводю букву в текстовое поле, возникает бесконечный цикл, и кажется, что tb.Focus () фактически вызывает рекурсивный вызов события LostFocus.
Я не понимаю, почему вызов метода Focus объекта вызывает событие LostFocus того же объекта.