@fjaerj12

Почему в форме не отображается текст?

Почему в окошке справа не отображается каждый раз текст.
616c890bef14e549830690.png
Вот что получается при запуске программы и нажатии кнопки "Start", таймер тоже должен показать больше 0 секунд.
616c89d1b6287075001679.png
Вот мой код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Task4
{
    public partial class Task4 : Form
    {
        Random rand = new Random();
        int seconds = 0;
        string alphabet = "abcdefghijklmnopqrstuvwxyz";
        int countMistakes = 0, countMissLetters = 0, count10 = 0, countCorrect = 0;
        char letter;
        bool less11 = true, inputIncorrect = true;

        public Task4()
        {
            InitializeComponent();
            EasyRadioButton.Checked = true;
        }

        private void startButton_Click(object sender, EventArgs e)
        {            
            if (EasyRadioButton.Checked)
            {
                timerGeneral.Enabled = true;
                timeLabel.Text = seconds.ToString();

                for (int i = 0; i < 10; i++) //  проблема в этом цикле
                {
                    letter = alphabet[rand.Next(0, 26)];
                    symbolsTextBox.Text = $"{letter}";

                    DateTime start = DateTime.Now;
                    DateTime finish = DateTime.Now;
                    TimeSpan difference = finish - start;
                    while ((difference.TotalMilliseconds < 1000) && (inputIncorrect))
                    {
                        finish = DateTime.Now;
                        difference = finish - start;
                    }

                    if (inputIncorrect == true) countMissLetters++;
                    inputIncorrect = true;
                }
                
                timerGeneral.Enabled = false;

                MessageBox.Show($"{timeLabel.Text} {countMissLetters} {countMistakes}");
            }
        }

        private void Task4_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != letter) countMistakes++;
            else inputIncorrect = false;
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            seconds++;
            timeLabel.Text = seconds.ToString();
        }
    }
}
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 1
iversooon
@iversooon
Учу C# и вообще все, но все равно ничего не знаю
таймер не идет, потому что у тебя метод timer_Tick написан, но нигде не вызывается, но даже так у тебя будут только секунды, а минут не будет, вот как то так
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы