我已经为winform添加了一个计时器控件(只需使用VS2017进行拖放)。 此计时器控件在表单上从左向右移动图片。启用时。
private void timer1_Tick(object sender, EventArgs e)
{
int x = PictureBox1.Location.X + 1;
if (x < 400)
PixtureBox1.Location = new Point(x, 100);
}
问题在于此移动操作不流畅,动作不稳定。我必须坚持winform,并想知道这个不稳定的运动可以做些什么?
如果试图最小化间隔或增加位移但它仍然不稳定。
答案 0 :(得分:0)
您必须尝试使用OnPaint()
方法制作动画。这是MSDN Documentation的链接。
您可以设置一个计时器,用于触发您想要达到的目标帧速率,并调用InvalidateRect()
或Invalidate(true)
重绘整个窗口。
按帧速率表示必须重绘动画控件的次数,如果想要帧速率为30,则计算定时器间隔1000/30
为1000 ms = 1秒。
因此timer.Interval = 1000/30
和 timer.Tick 事件调用Invalidate()
来触发 OnPaint ()事件。