我正在尝试使用C#设置图像动画。基本上,我想拍摄一张图像并将其连接到另一个功能,并根据1到10的比例,使图像向上或向下移动。默认情况下,图像将从1开始。我已经搜索过,我已经找到了使形状在屏幕上上下移动的方法,但不是实际的图像。图像很小,比如60x60像素。我觉得这应该很简单,但我还没弄明白。我想的只是在Windows窗体上放置一个图像,然后基本上让它在窗体的y轴上移动或移动,但我希望它能够顺利移动。
好的,我能够将一个按钮挂钩到一个计时器功能,并让按钮在屏幕上上下平滑移动。该按钮必须在程序运行期间保持移动。但是,我很难写一个功能,一旦图像到达某个位置就停止计时器和图像(按钮)移动。没有它,计时器继续,图像(按钮)移出屏幕。我已经尝试搞乱了button.Location.Y函数,但我还没有让它正常工作。任何人都可以建议吗?谢谢。哦,是的,一旦图像(按钮)到达Y或192的位置,它应该停止移动。
我所拥有的一个例子:
private void timer2_Tick(object sender, EventArgs e)
{
button2.Top = button2.Top + 1;
if (button2.Location.Y == button2.Location.Y - 192)
{
timer2.Stop();
timer3.Stop();
}
//if (timer_limit < 100)
//{
// button2.Top = button2.Top + 1;
// timer_limit++;
//}
//else
//{
// timer2.Stop();
//}
}
答案 0 :(得分:2)
有几种方法可以做到这一点。您可以使用PictureBox并更改其Location属性。或者您可以在窗体的OnPaint()覆盖中绘制图像,并将参数更改为e.Graphics.DrawImage()。然后,您必须调用Invalidate()以强制运行OnPaint方法。这是最便宜的方式。