如何在窗体中无闪烁的使移动图片?
在做一个窗体应用程序,需要在窗体中显示一张图片,这张图片需要从窗体的一边运动到另一边,需要无闪烁的运动过去.   
 请问需要用什么控件来承载图片,怎样保证图片无闪烁的运动?   
 http://topic.csdn.net/t/20051009/13/4314266.html问题和这个基本相同,但这个是VC的,看不懂.   
 请指教! 
------解决方案--------------------闪烁的原理是人眼错觉间歇问题 
 只要控制好重绘的坐标差和速度,这是个经验问题。 
 重绘需要研究system.Drawing以及其相关类 
 .net控件有托放属性,如果你直接调用Control的拖放个闪烁是难免的。也是不可控制的,你只能约束你的图片。
------解决方案--------------------DoubleBuffered = true; // 在所绘制的窗体中开个双缓冲看看
------解决方案--------------------如果在onpaint事件里画的话,先在内存中画好,最后直接贴出来; 
 如果用图片的话,最好用两张图交替现实,后一种显示后,前一种在消失
------解决方案--------------------//下面三行最好在ControlToPaint的顶端定义 
 bitmap bmpBuffer=new bitmap(ControlToPaint.width,ControlToPaint.height); 
 graphics grBuffer=graphics.fromimage(bmpBuffer); 
 graphics grControlToPaint=ControlToPaint.CreatGraphics(); 
 //需要画图在bmpBuffer里画 
 grBuffer.drawimage(...); 
 //然后把bmpBuffer画到ControlToPaint里就是自己做的双缓冲了 
 grControlToPaint.DrawImage(bmpBuffer,0,0);   
 //另外:DoubleBuffered = true;这个做法实现的效果不理想!!!
------解决方案--------------------楼主你的调试代码是怎样的?
------解决方案--------------------  //下面三行最好在ControlToPaint的顶端定义 
 bitmap bmpBuffer=new bitmap(ControlToPaint.width,ControlToPaint.height); 
 graphics grBuffer=graphics.fromimage(bmpBuffer); 
 graphics grControlToPaint=ControlToPaint.CreatGraphics(); 
 //需要画图在bmpBuffer里画 
 grBuffer.drawimage(...); 
 //然后把bmpBuffer画到ControlToPaint里就是自己做的双缓冲了 
 grControlToPaint.DrawImage(bmpBuffer,0,0);   
 //另外:DoubleBuffered = true;这个做法实现的效果不理想!!!     
 用这个方法不错!以前用过!