带计时器的移动图片框速度更快

本文关键字:速度 计时器 移动 | 更新日期: 2023-09-27 18:05:01

我有一个Compact framework 2.0 c#项目我在Form中使用了很多图片框,并且有一个计时器来改变图片框的位置,但移动的速度很慢,我怎么能更快呢?

定时器间隔为100

private void timer1_Tick(object sender, EventArgs e)
{
  picust.Location = new Point(picust.Location.X, picust.Location.Y + 10);
  picx.Location = new Point(picx.Location.X, picx.Location.Y + 10);
  picy.Location = new Point(picy.Location.X, picx.Location.Y + 10);
}

带计时器的移动图片框速度更快

由于您使用的是。NET Compact Framework 2.0,您可以通过使用SuspendLayoutResumeLayout方法来改进您的代码,这些方法从2.0版本开始支持。将这些方法放在代码周围,如示例所示:

//assuming that this code is within the parent Form
private void timer1_Tick(object sender, EventArgs e)
{
  this.SuspendLayout();
  picust.Location = new Point(picust.Location.X, picust.Location.Y + 10);
  picx.Location = new Point(picx.Location.X, picx.Location.Y + 10);
  picy.Location = new Point(picy.Location.X, picx.Location.Y + 10);
  this.ResumeLayout();
}

这将防止三次重绘表单,而只执行一次。