Пишу планировщик задач — как остановить проигрывание события?

Пишу простой планировщик задач - "для себя", если есть примеры готовых решений, которые можно повторить - с удовольствием гляну. Пишу с использованием WinForms.

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

private void timer1_Tick(object sender, EventArgs e)
        {
            int h = DateTime.Now.Hour;
            int m = DateTime.Now.Minute;
            int s = DateTime.Now.Second;

            string time = "";

            if (h < 10)
            {
                time += "0" + h;
            }
            else
            {
                time += h;
            }

            time += ":";

            if (m < 10)
            {
                time += "0" + m;
            }
            else
            {
                time += m;
            }

            time += ":";

            if (s < 10)
            {
                time += "0" + s;
            }
            else
            {
                time += s;
            }

            toolStripStatusLabel1.Text = time;


            string str = null;
            string[] strArr = null;
            str = dataGridView1[1, 0].Value.ToString();
            char[] splitchar = { ':' };
            strArr = str.Split(splitchar);

            if (h.ToString() == strArr[0] && m.ToString() == strArr[1]) 
            {
                    playSimpleSound(); 
            }
        }


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

private void button1_Click(object sender, EventArgs e)
        {
            stopSimpleSound();
        }


Но нажимая кнопку, звук все равно продолжает играть каждую секунду. Как правильно воспроизводиться звук пока не нажата кнопка? Таймер должен тика дальше, т.к. далее будет список задач.
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 1
В комментарии я написал, что у вас не так в коде - надо бы его переписать, чтобы вам самому было понятнее, что происходит там.

Смотрите, что у вас происходит в в методе playSimpleSound() и stopSimpleSound()
Ошибка где-то там.

И отделите в кои то веки логику представления от бизнес-логики
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы