На этом уроке мы напишем программу для тренировки устного счёта.
Задание: Сделать тренажёр устного счёта по основным арифметическим операциям.
Дата отправки отчёта:
14 декабря 2015 г.
Задание выполнено: за
3 час. 00 мин.
Чему научился:
Выводить данные в метки и в текстовые окна, считывать данные из меток и текстовых окон, распознавать нажатие кнопки Enter, программно задавать фокус, попрактиковался в программировании секундомера.
Что было сложным:
Совершенно измучился с тем, что на втором и последующем шагах в элементе text_answer почему-то добавляется \r\n. Мучился с этим не менее 3-х часов – так и не понял, с чем это связано. Соответственно, после первого шага не работает сравнение: if (text_answer.Text == answer) В конце концов, нашел следующее решение с конвертацией в целое число: if (Convert.ToInt32(text_answer.Text) == Convert.ToInt32(answer)) Кто-нибудь может объяснить мне, в чем тут дело?
Комментарии:
Остался вопрос: почему на втором и последующем шагах в элемент text_answer добавляется значение \r\n? Также не понял, почему в начале работу программы я не смог сместить фокус с элемента text_answer?
Александр, проверьте в свойствах text_answer значение свойства MultiLine. Я попробовал представить Вашу ситуацию, изменил на MultiLine = true, в итоге при if (Convert.ToInt32(text_answer.Text) == Convert.ToInt32(answer)) система корректно удаляет начальные или конечные whitespace символы. Если же сравнивать сами строки, то как раз \r\n добавляется перед вводимым ответом, поэтому ошибка. Нужно установить MultiLine = false.
Большое спасибо, Евгений Витольдович! Причина моей ошибки была в том, что для текстового окна я установил параметр MultiLine=true. Установка фокуса на текстовое окно в начале работы, как оказалось, произошло из-за того, что его параметр TabIndex был равен 0.
Научился: Поработал с ProgressBar, попробовал в действии StatusStrip с размещенным на нем toolStripProgressBar.
Добавил в прогу таймер с временем на ответ (в виде toolStripProgressBar). Нет вопросов
Научился: Работать с Random'ом, считывать нажатие клавиш. Трудности: Сложение легко. Вычитание, умножение, деление потруднее, по тому, что это надо было переписывать. Супер-урок : )