作者kuraki7up (Make Mai Day)
看板C_Sharp
标题[问题] 利用timer移动物件位置,但速度不定
时间Sun Jan 23 08:58:37 2011
我用一个timer定时(10~20ms)去移动picturebox的位置,
由右至左,每次移动都固定间距(1~3 pixel),
但是很不顺畅,有时快,有时慢,卡卡的
尤其是物件快移出画面时,速度会变快,
这是什麽原因?
以下是我timer里的程式码
void test_Tick(object sender, EventArgs e)
{
pictureBox1.Left-=2;
Application.DoEvents();//这行有加没加 都卡卡的
if (pictureBox1.Left <= -pictureBox1.Width)
{
pictureBox1.Left = this.Width;
}
}
谢谢指教
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.204.74.6
1F:→ anumis:Windows只会帮你画出Form区域的内容,超出的部份就不会画了 01/23 09:03
2F:→ anumis:也没必要画,所以画的东西变少,自然速度变快 01/23 09:04
3F:→ proach:你把每次发生的时间记录下来,会发现间隔不会是20ms :) 01/24 00:00
4F:推 clarkman:timer的priority比较低,很容易被别的程序抢走,简单讲 01/25 10:45
5F:→ clarkman:就是不更精准,你应该换更精准的Timer 01/25 10:45
6F:推 glennchen:你有用double buffer吗??? 01/31 14:12