我在一个panel(P1) 上画了直线 
然后我点一个按钮
如何把原来P1上的直线擦除 从而画新的线出来?

解决方案 »

  1.   

    用控件的Invalidate()方法就可以了.
      

  2.   

    同楼上。再者draw事件是实时的,你可以定义个变量点按钮后这个改变值,然后在你的draw函数中通过判断这个值来决定是否画这条直线。
      

  3.   

    谢谢 hbxtlhx(平民百姓)
    --------------
    还有个问题
    就是我要不停的采集数据(坐标点),从而连成一条曲线
    但问题是,画这条曲线的时候,不能移动这个窗口
    否则一触发Paint事件.画的图就不在了.
    如何避免这种情况(也就是如何保存刚才画完的图)
      

  4.   

    Graphics g=P1.CreateGraphics();
    g.Clear();
    g.DrawLine();
      

  5.   

    用一个ArrayList保存坐标点,在重绘的时候从ArrayList中读坐标
      

  6.   

    你可以建立一个Bitmap,然后把图画到这个Bitmap上,然后在窗体的Paint事件里把这个Bitmap画到窗体上就可以了.
    这是最简单有效的做法了
      

  7.   

    你可以建立一个Bitmap,然后把图画到这个Bitmap上,然后在窗体的Paint事件里把这个Bitmap画到窗体上就可以了.
    这是最简单有效的做法了
    -----------------------
    我是时时在画的...到了一定时间就自动停止采集数据停止画了 .这种方法也可以?
      

  8.   

    我能否直接在paint里画呢?
    在paint事件里写下面这个判断
    if(开始测试)
    {
        ........开始画图
    }
    这样可以否?