C# Как заставить метод подождать выполнения таймера (тиканья)?

297
06 декабря 2017, 22:12

Пишу простенькое приложение, застопорился на вот этом моменте, как заставить метод StartExercises подождать пока выполниться таймер ("протикает" от значения Mid до 0) ? Подозреваю что нужно использовать потоки, но не хочу пока в эту тему влазить) Если других вариантов нету, то как реализовать с потоками?

protected void StartExercises(List<Exercise> list)
    {
        foreach (var ex in list)
        {
            Sec = ex.Duration;
            Timer1.Enabled = true;
            LabelName.Text += ex.Name; ;
        }
    }

    protected void Timer1_Tick(object sender, EventArgs e)
    {
        if (Sec > 0)
        {
            Sec -= 1;
            LabelTimer.Text = Sec.ToString();
        }
        else if (Sec <= 0)
        {
            Timer1.Enabled = false;
            SoundPlayer sp = new SoundPlayer { SoundLocation = Server.MapPath("~/App_Data/EndSound.WAV") };
            sp.Play();
        }
    }
Answer 1

Не знаю зачем вам это понадобилось, когда вы могли бы подписаться на событие от таймера и в обработчике выполнить нужную вам логику.

Однако, если вам все таки по какие-то причинам это не подходит, то вы можете крутится в цикле while проверяя таймер и когда настанет заветная секунда сделать break, но это не совсем правильно...

READ ALSO
Подгрузка данных извне

Подгрузка данных извне

Есть таблица с данными реквизитов (ФИО, должности и пр) На другой странице есть отчёт, куда эти данные нужно передать при условии, что проставлен...

234
Вывод любых структур на экран

Вывод любых структур на экран

Как можно сделать универсальный код, что бы он выводил все поля любых структурПример:

265
Как поставить checkbox вместо значение из бд

Как поставить checkbox вместо значение из бд

Суть вот в чемВ базе есть таблица "table1"

257