GDI画出的线,保留到窗口改变,也就是说窗口改变的时候,清除所画的线
怎么实现private void Frm_Resize_1(object sender, System.EventArgs e)
{
//怎么在这里清除画的线
}

解决方案 »

  1.   

    clear()需要有参数啊 ,但是背景色不也变成了参数的颜色了么
      

  2.   

    那就设clear的参数为你想要的颜色啊!。你开始绘制的时候肯定要用一把刷子把背景先刷一边吧?就用那把刷子的颜色吧啊。
      

  3.   

    起始我做的很简单的,就是把panel中的picturebox分割成几段,clear就的 clear  panel的背景色吧,但是panel的背景色是我直接在属性中设定,Color.里面没有哦
      

  4.   

    请问,C#.net  用GDI+怎样画直方图?
      

  5.   


    private void pl_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
    { e.Graphics.DrawLine(new Pen(Color.Black,5 ), new Point(),new Point()); 

    }
    画线就这么画
      

  6.   


    可以达到清除的目的,但是我想在窗口的最大画的时候清除,代码应该放在哪,我写在
    private void Frm_Resize(object sender, System.EventArgs e)
            {
            }
    中,才开始画的线也没有了 ,怎么窗口最大化的时候在清除
      

  7.   

    http://blog.csdn.net/last_impression/archive/2008/05/20/2463647.aspx
      

  8.   

    双缓存,先建一Bitmap,将不要刷除的东东画在这里,然后再将这个bitmap画到你的窗体,再将线画到窗体,Resize的时候重画bitmap,不画你的线。
      

  9.   

    用List<LineClass>存储线类
    然后在Form1_Paint上画呵,
    通过Mouse_Down选取要要删除的线,删除List中对应的对象,
    然后this.Invalidate();就可以了吧
    不知道是不是你想要的,,
      

  10.   

    Resize会引发Onpaint方法,所以你只需要在OnPaint方法或Paint事件中判断窗体是否最大化,如果是则Clear()
      

  11.   

    解决了 ,在Paint里判断一下才窗口的状态,让它重画,谢谢各位,这次分少,以后补上