Проблема с таймером Visual Studio - PullRequest
0 голосов
/ 04 октября 2010

Я не смог найти объяснения следующей проблемы. Надеюсь, вы поможете мне узнать решение ...

Давайте создадим новое приложение для Windows (используя любую версию VS) и добавим кнопку , таймер (мы модифицируем интервал, который должен стать = 10 ), и метка (с исходным текстом = " 0 ").

введите следующий код в таймер:

label1.Text = (Convert.ToInt32 (label1.Text) + 1) .ToString ();

введите следующий код в кнопку:

timer1.Enabled = true;

Метка должна показывать инкрементный счетчик, начиная с 0.

Логически, каждые 100 отсчетов должны занимать 1 секунду, но это НЕ правда. Что происходит, так это то, что каждые 100 отсчетов потребляют чуть больше 1 секунды !!!

В чем причина такого поведения ???? !!!

Большое спасибо за то, что вы выслушали меня и ждали вашего ответа, потому что я действительно искал объяснения, но ничего не смог найти.

1 Ответ

2 голосов
/ 04 октября 2010

Если вы используете System.Windows.Forms.Timer, точность ограничена 55 мс.

Компонент Windows Forms Timer является однопоточным и имеет точность не более 55 миллисекунд. Если вам требуется многопоточный таймер с большей точностью, используйте класс Timer в пространстве имен System.Timers.

См. Раздел «Примечания»: System.Windows.Forms.Timer

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...