我有一个程序,可以随意移动图片框中的gif,但是当函数被调用时,gif会冻结。但是,当我使用keyDown函数移动框来移动图片框时,它仍然是动画的。如何在移动时保持动画效果?如何在不暂停的情况下移动动画GIF?
这是我用它来移动一个随机距离,冻结GIF。
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)
{
eventDuration = randomizer.Next(30, 70);
while (eventDuration != 0)
{
MoveLeft();
eventDuration = eventDuration - 1;
Thread.Sleep(15);
}
}
}
private void MoveLeft()
{
_y = picPicture.Location.Y;
_x = picPicture.Location.X;
picPicture.Location = new System.Drawing.Point(_x - 1, _y);
}
然而,如果利用这一点,它平滑地移动而不冻结GIF,甚至当我按住A键。因为它需要不断的用户输入我不能使用这种方法,而首先是自主的方向它移动
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.A)
{
MoveLeft();
}
}
private void MoveLeft()
{
_y = picPicture.Location.Y;
_x = picPicture.Location.X;
picPicture.Location = new System.Drawing.Point(_x - 1, _y);
}
我如何才能将我的图片框随机距离无需暂停GIF?