在写一个基于Panel的类,在上面画图,怎样能让前面画的图不消失,画第二个图的时候第一个就消失了
是不是应该写一个控件集属性,来保存它们,它们之间还有层次关系,后面画的所在的层比前面的高.
怎么实现

解决方案 »

  1.   

    Form 会刷新的
    你把你的代码写在
    Form1_Paint 事件里就行了
      

  2.   

    如果你是在panle上画的话
    你可以把你的代码 写在panel1_Paint 里
      

  3.   

    画第二个的时候肯定会重新执行Paint事件的
    所以不行
    得写个控件集,把前面画的控件保存进去
      

  4.   

    肯定需要以某种方式来保存需要绘制的图形,然后在Paint事件处理方法中,逐一进行实际的绘制。
      

  5.   

    重新执行Paint事件的话,如果不调用Graphics.Clear(),绘图对象上的原始图案是不会消失的
      

  6.   

    http://blog.csdn.net/jianuMan/archive/2010/06/18/5677839.aspx参考这个  如果都是矩形的话  你可以建立一个List《自定义类》  来保存要绘制的图形  每次画了之后  都把对应点新建一个类  保存到List《自定义类》里面  以供Paint刷新用
      

  7.   

    高手们 急啊
    还是这个问题
    我要用Sortedlist来保存我画布上画的控件
    paint事件刷新时可以在sortedlist中重新刷新出控件来,这样就不会覆盖原来的控件了
     public SortedList<int, TControl> TControlCollection
            {
                get
                {
                    return _TControlCollection;
                }
                set
                {
                    _TControlCollection = value;
                }
            }
    TControl是我一个控件类的基类