我想用DoEvents来延时挺好的。

解决方案 »

  1.   

    do while ....
        pic.left=pic.left-100
        DoEvents  
    loop
      

  2.   

    最好自己子类化处理消息
    拦截WM_Paint
    只绘制刷新区域
    --------------------------------------------------------
    Windows系统的时间精度:Windows NT 3.5 and later The system timer runs at approximately 10ms. 
    Windows NT 3.1 The system timer runs at approximately 16ms. 
    Windows 95 and later The system timer runs at approximately 55ms. 
      

  3.   

    do while ....
        pic.left=pic.left-100
        DoEvents  
    loop无效
      

  4.   

    你给的一定轨迹最好用幅度值!而且TIMER的时间间隔拉大一点!走的效果会比较好一点。
      

  5.   

    而且你的PictureBox最好不要太大,否则有可能会出现闪烁
      

  6.   

    我用过paintpicture,可是效果还是那样,移动并不平滑。我只显示一个30X30像素的图像,不会大得导致闪烁的,我想移动的不平滑可能是使用控件的关系,我见过一个用VC写的坦克游戏,坦克移动时既快又平滑,效果很好的。
        如果使用BitBlt,又该怎么使用呢?