Может ли таймер c # вызвать саму функцию .stop? - PullRequest
0 голосов
/ 27 марта 2011

Всякий раз, когда я пытаюсь сделать что-то подобное, таймер не останавливается:

private void timer1_Tick(object sender, EventArgs e)
    {

        if ((addedToFriendsCounter == 4) || (followJobFinished))
        {
    //stop the timer
    }
}

Есть предложения?

Ответы [ 3 ]

9 голосов
/ 27 марта 2011

Да, нет проблем. Комментарий не может остановить таймер. Используйте

 timer1.Stop();

или

 ((Timer)sender).Stop();
0 голосов
/ 27 марта 2011

Да, нет проблем с остановкой таймера из события Tick. Событие запускается в основном потоке, поэтому при обращении к элементу управления Timer не возникает проблем с несколькими потоками.

Вы можете остановить таймер, вызвав метод Stop или установив для свойства Enabled значение false.

0 голосов
/ 27 марта 2011

Нет проблем с остановкой таймера из обработчика событий Tick. Какого черта addedToFriendsCount и followJobFinished? Ваша ошибка либо с одним из них, либо с кодом //stop the timer.

...