在窗体中怎么滚动图片??

liangyubiao 2007-03-14 04:57:50
我用了一个pictureBox框加载了图片,通过Timer控件的时间来移动图片,用了
picture.left = picture.left + 20;
这样只能够向一个方向移动,我要的效果就是但图片的右边碰到窗体的右边界时,弹 回来。。请问如何实现啊???谢谢
...全文
205 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
王集鹄 2007-03-14
  • 打赏
  • 举报
回复
private Point offset = new Point(-20, 33);
private void timer1_Tick(object sender, EventArgs e)
{
if ((offset.X + pictureBox1.Left < 0) ||
(offset.X + pictureBox1.Left + pictureBox1.Width > ClientSize.Width))
offset.X = -offset.X;
if ((offset.Y + pictureBox1.Top < 0)||
(offset.Y + pictureBox1.Top + pictureBox1.Height > ClientSize.Height))
offset.Y = -offset.Y;
pictureBox1.Left = Math.Min(pictureBox1.Left + offset.X,
ClientSize.Width - pictureBox1.Width);
pictureBox1.Top = Math.Min(pictureBox1.Top + offset.Y,
ClientSize.Height - pictureBox1.Height);
}
sunrobust 2007-03-14
  • 打赏
  • 举报
回复
设一个标志量表示飘动方向,比如flag

根据timer和步进速度判断是否改变flag

如果flag改变,就改变飘动方向.例如:
picture.right= picture.right-20;//向左漂
james_hunter 2007-03-14
  • 打赏
  • 举报
回复
picture.left = picture.left + 20*i;
i定义成1。满足到达右边届的条件时就变成-1.同样的,当到达左边届时变成1。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧