ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemwindowsformscontrolclasspainttopic.htm在窗体的Paint事件里面重新绘制

解决方案 »

  1.   

    http://www.syncfusion.com/FAQ/WinForms/
      

  2.   

    画得代码放在paint中。
    或者先画到 bitmap中,然后在paint事件中,画这个bitmap。后者可以保存你所有画得东西。
      

  3.   

    好好看看 书。
    你好象没有 Windows 编程基础
      

  4.   

    我知道pain可以保存,
    我的意思是说:比如在一个画图程序中,在里面画上N条直线,你怎么把代码放在pain中?
    还有,这种画图程序是可以撤消操作的,又怎么样来实现撤消呢?
    一两条直线还好做,当N=100或1000的时候,又怎么实现呢?
      

  5.   

    如果是直线,自己做个数组类来保存记录嘛,在OnPaint中再重画.
      

  6.   

    每执行一个绘图命令,就保存到一个BitMap的对象之中,OnPaint之中仅仅是把这个BitMap中的内容给显示出来,这样无论你如何变化,图形还是存在的。当然你也可以作矢量的方式保存
      

  7.   

    我想到一个办法,
    1:这个画图程序有N个撤消的操作,我就准备有N张jap图片来保存,
    在每次释放鼠标的时候,用bitmap来保存一张图片,当图片数大于N张时,就把最先创建那一张删除。
    2:当撤消一个操作时,就打开前一个图片,以此类推。总结:有数数组来保存的话,要保存的数据量太大,比如用点来画一条曲线,那数据是很大的,很麻烦。
    用图片来保存,可以说,每个图片一个操作,相对来说比较简单。