Пример #1
0
        /// <summary>
        /// обработка события нажатия на кнопку "Стоп"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStop_Click(object sender, RoutedEventArgs e)
        {
            int totalTime;     // общее время работы между нажатем кнопок "Старт" и "Стоп"

            flagStart = false; // выключаем признак нажатия кнопки "Старт"
            // переключаем кнопку "Старт" - доступна и непрозрачна
            btnStart.IsEnabled = true;
            btnStart.Opacity   = 1.0;
            // переключаем кнопку "Стоп" - недоступна и полупрозрачна
            btnStop.IsEnabled = false;
            btnStop.Opacity   = 0.5;
            // панель ввода: делаем недоступной и даем фокус
            WritePanel.IsEnabled = false;
            WritePanel.Focus();
            // остановка таймера и фиксация времени в минутах
            stopWatch.Stop();
            ts        = stopWatch.Elapsed;
            totalTime = ts.Hours * 60 + ts.Minutes;
            // вычисление скорости набора символов и запись этой информации в поле "Speed"
            if (totalTime != 0)
            {
                Speed.Text = ((int)symbolsCounter / totalTime).ToString();
            }
            else
            {
                Speed.Text = symbolsCounter.ToString();
            }
            // запись значения счетчика ошибок в поле "Fails"
            Fails.Text = errCounter.ToString();
        }
Пример #2
0
        /// <summary>
        /// обработка события нажатия на кнопку "Старт"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            var    rand    = new Random();
            int    n       = rand.Next(4);
            string phrase  = exercises[n];
            string nPhrase = "";

            if (Registr_cbx.IsChecked == true)
            {
                phrase = phrase.Replace(phrase.Substring(0, 1), phrase.Substring(0, 1).ToUpper());
            }
            flagStart = true;  // включаем признак нажатия кнопки "Старт"
            // панель ввода: очищаем, делаем доступной и даем фокус
            WritePanel.Text      = "";
            WritePanel.IsEnabled = true;
            WritePanel.Focus();
            // заполняем панель чтения в зависимости от уровня сложности
            for (int i = 1; i <= Difficulty.Value; i++)
            {
                nPhrase += " " + phrase;
            }
            ReadPanel.Text = nPhrase;
            // переключаем кнопку "Старт" - недоступна и полупрозрачна
            btnStart.IsEnabled = false;
            btnStart.Opacity   = 0.5;
            // переключаем кнопку "Стоп" - доступна и непрозрачна
            btnStop.IsEnabled = true;
            btnStop.Opacity   = 1.0;
            // стартуем таймер
            stopWatch.Start();
            // обнуляем счетчики введенных символов и ошибок
            symbolsCounter = 0;
            errCounter     = 0;
            // очищаем поля скорости и ошибок
            Speed.Text = "";
            Fails.Text = "";
        }