2010-10-04 71 views
0

我無法找到任何解釋以下問題。希望大家幫我知道解決的辦法......Visual Studio計時器問題

讓我們做一個新的窗口appliaction(VS使用任何版本),並添加一個按鈕定時器(我們修改間隔成爲= )和標籤(具有初始文本=「」)。

寫在定時器以下代碼:

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

寫在按鈕下面的代碼:

timer1.Enabled = TRUE;

標籤上應顯示一個遞增計數器從0

起始邏輯上,每個100個計數應該消耗1秒,但是這是NOT真相。 會發生什麼事,每100個計數消耗超過1秒!

這種行爲的原因是什麼???? !!!

非常感謝您的聆聽,並等待您的回覆,因爲我確實在尋找一個完美但我找不到任何東西。

+0

你使用哪種計時器? – rwong 2010-10-04 03:18:17

+0

爲什麼要標籤該Visual Studio?它與Visual Studio沒有任何關係 - 除非您還通過刀的製造商訂購Pizza。它應該被標記爲.NET/Winforms等 – TomTom 2010-10-04 03:21:14

+0

是的,你是對的,我可以做到這一點...但我想澄清,這'周點'已經5年沒有移除... – yazanpro 2010-10-04 03:40:47

回答

2

如果您使用的是System.Windows.Forms.Timer,則其精度限制爲55毫秒。

Windows窗體計時器組件是單線程的,精度限制爲55毫秒。如果您需要更高精度的多線程計時器,請使用System.Timers名稱空間中的Timer類。

參見備註部分:System.Windows.Forms.Timer

+0

此答案的投票數應該有一個大的複選標記的綠色輪廓。只需點擊複選標記的大綱,此答案將被標記爲已接受。 – Cameron 2010-10-04 04:37:24