C# WPF | Сложности с вводом в TextBox
Владимир Головин

Создаю приложение с тестами. Начал работать над тестом "устный счет" и столкнулся с проблемой ввода текста в TextBox для ответа.
Это даже странно, потому что сначала всё работало, а потом стало просто крашится при вводе любого символа! Даже когда шифт зажмёшь!
Суть такая:
Когда нажимаешь кнопку старта, выдается два числа и случайный знак.
В текстбокс вводишь ответ, нажимаешь Enter и переходишь к следующему рандомному примеру.
Пока это бесконечный цикл, но как закончу основную задачу, сделаю ограничение по количеству.
Проблема:
1. Не даёт заполнить текстбокс ЛЮБЫМИ символами. Так же, если нажать люблую клавишу, крашит и указывает на answer = int.Parse(tbAnswer.Text);
2. Подозрения на обработчик KeyDown. Скорее всего надо брать TextInput.
В коде я убрал максимум лишнего, чтобы показать Вам основное.
```
public partial class TestVCLess1 : Window
{
Random r = new Random();

    public TestVCLess1()
    {
        InitializeComponent();
    }

    void selectTask()
    {
        char plus = '+';
        tb1.Text = r.Next(0, 10).ToString(); // ТекстБлок с первым слагаемым
        tb2.Text = r.Next(0, 10).ToString(); // ТекстБлок со вторым слогаемым
        labelChar.Content = plus; // Метка со знаком
    }

    private void btnStart_Click(object sender, RoutedEventArgs e)
    {
        selectTask(); // установка рандомных чисел и знака
        btnStart.Visibility = Visibility.Collapsed; //прячем кнопку после нажатия
    }

    private void tbAnswer_KeyDown(object sender, KeyEventArgs e)
    {
        int fSlog, sSlog, answer;
        fSlog = int.Parse(tb1.Text); // Переводим в int для считывания
        sSlog = int.Parse(tb2.Text); // Переводим в int для считывания
        answer = int.Parse(tbAnswer.Text); // ВОТ ТУТ КОМПИЛЯТОР УКАЗЫВАЕТ НА ОШИБКУ
        int summa = fSlog + sSlog; // Переменная результата

                                if (e.Key == Key.Enter)
            if (answer == summa)
            {
                tbAnswer.Text = null; // чистим textbox
                selectTask(); // Задаем новый пример
            }
    }
}

}
```
HELP =C

1 чел.