谁帮我解决一下这个问题啊

sandy2001 2002-08-30 09:13:39
我想单击一个按钮的时候把picturebox的height变小,再单击恢复,我想让picturebox高度的变化要实现一定的动画效果,就是高度变化的时候要有一定的过程,不能突然变小,突然恢复

下面代码,我想每隔3毫秒让FrameXPMenu(是一个picturebox)的高度加1,可是这段代码运行的时候,并不是每隔3毫秒加1,而是等3*100毫秒以后也就是for循环完了以后才突然增加了100,这怎麽回事呢??
if(FrameXPMenu.Height==MenuHeader.Height)//minimised
{
img= new Bitmap("up.bmp");
MenuHeader.Image=img;


for(int i=1;i<=100;i++)
{
FrameXPMenu.Height++;
Thread.Sleep(3);
}

}
...全文
39 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sandy2001 2002-08-30
  • 打赏
  • 举报
回复
to larson(Unkonwn) :
行了,哈哈,谢谢
sandy2001 2002-08-30
  • 打赏
  • 举报
回复
to larson(Unkonwn) :
在循环里刷新FrameXPMenu.是什麽意思?怎麽刷新??
sandy2001 2002-08-30
  • 打赏
  • 举报
回复
to VSJobs() :
用不了这麽麻烦吧?不就是高度变化吗??
zjwuweim 2002-08-30
  • 打赏
  • 举报
回复
建议用timer事件,效果明显
VSJobs 2002-08-30
  • 打赏
  • 举报
回复
我建议你使用GDI+,如果非要用PictureBox,你试试让控件重绘,不知道效果你是不是满意。
larson 2002-08-30
  • 打赏
  • 举报
回复
是否需要在循环里刷新FrameXPMenu.

110,536

社区成员

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

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

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