как сделать перезапуск таймера? - PullRequest
1 голос
/ 14 февраля 2012

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

Ответы [ 3 ]

1 голос
/ 14 февраля 2012

Timer.Enabled и Timer.Start() функционально эквивалентны.

Подозреваю, вам нужно сбросить стартовую переменную.

if (checkBox1.Checked == true)
{
  start = 0;
  label1.Text = string.Empty;
  timer1.Start();
}
else
{
  timer1.Stop();
}

Изменить, чтобы включить сброс метки для комментария.

1 голос
/ 14 февраля 2012

установить свойство INTERVAL ... в миллисекундах ... 1000 = 1 секунда

0 голосов
/ 14 февраля 2012

Если вы сбросите свой старт на ноль в событии смены чека, это должно сбросить таймер:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        if (checkBox1.Checked == true)
        {
            start = 0;
            label1.Text = string.Empty;
            timer1.Enabled = true;
            timer1.Start();
        }
        else
        {
            timer1.Enabled = false;
        }
    }

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

...