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

335
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
Подгрузка данных извне

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

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

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

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

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

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

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

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

299