Не работает функция отсчета таймера

162
21 марта 2019, 11:20

Мне нужно в 2 lebl'а парсить минуты и секунды соответсвенно. Вот функция которую я сделал:

 public void StartTimer()//Функция запуска отсчета таймера
    {
        if(timer1.Enabled)
        {
            if (minutes <= 59&&minutes>=0)
            {
                minutes--;
                if (minutes < 10)
                    timeMinutes.Text = "0" + minutes.ToString();
                else
                    timeMinutes.Text = minutes.ToString();
            }
            else
            {
                timeMinutes.Text = "00";
            }
            if (seconds <= 59 && seconds>=0)
            {
                seconds--;
                if (seconds < 10)
                    timeSeconds.Text = "0" + seconds.ToString();
                else
                    timeSeconds.Text = seconds.ToString();
            }
            else
            {
                timeSeconds.Text = "00";
            }
        }
    }

Эту функцию я вызываю в событии private void timer1_Tick(object sender, EventArgs e) { StartTimer(); } Для справки заношу 30 минут и 00 секунд. Labl'ы имеют вид: 29:0-1. Да и ход вычитания не показывается

Answer 1

Предлагаю такой вариант кода:

    private int seconds;
    private int minutes;
    private TimeSpan time1;

    private void button1_Click(object sender, EventArgs e)
    {
        minutes = 30;
        seconds = 0;
        time1 = TimeSpan.FromMinutes(30);
        timer2.Enabled = true;
        timer2.Start();
    }

    public  void StartTimer()//Функция запуска отсчета таймера
    {
        if (timer2.Enabled)
        {
            if (time1.TotalSeconds > 0)
            {
                time1 = time1.Subtract(TimeSpan.FromSeconds(1));
            }
            timeMinutes.Text = time1.Minutes.ToString("##");
            timeSeconds.Text = time1.Seconds.ToString("##");
        }
    }
    private void timer2_Tick(object sender, EventArgs e)
    {
        StartTimer();
    }

Кстати вот пара ссылок которые могут быть Вам полезны.

1.Работа с датой и временем

2.Форматирование строк

READ ALSO
Как получить Id у User.Identity.Name?

Как получить Id у User.Identity.Name?

Собственно вопрос в заголовке

162
Тип не помечен как сериализуемый

Тип не помечен как сериализуемый

Нужно создать компонент для нужд проектаВот максимально упрощённый код:

172
Не получается записать текст в файл

Не получается записать текст в файл

Не получается записать в файл строку, не пойму в чем делоStackTrace:

190