没做过GDI,感觉不应该用Clear(),用填充试试看!

解决方案 »

  1.   

    用e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(0, 0, 0, 0)), ClientRectangle.Top, ClientRectangle.Left, ClientRectangle.Width, ClientRectangle.Height);
    填充也不好使!
      

  2.   

    如果将OnPaintBackground重载为
    protected override void OnPaintBackground(PaintEventArgs e)
    {
      return;
    }
    则背景透明,但当拖动控件,改变其大小时,其以前的轨迹不能擦除,有什么好的方法能擦除其轨迹就OK了!
    急呀!!!!!!!!!!!!!!!!!!!!!!
      

  3.   

    try this:
    protected override void OnPaintBackground(PaintEventArgs e)
    {
        this.Parent.Refresh();
      return;
    }
      

  4.   

    TO:Kain(白衣卿相)
    能不能再详细点?谢谢!!!TO:Knight94(愚翁) 
    您的方法也不好使,但仍非常感谢!请大家帮忙指点!!!!!!!!!!!!
      

  5.   

    如果想控件背景透明,如下两句就行了
    this.SetStyle(ControlStyles.SupportsTransparentBackColor, true); 
    this.BackColor=Color.Transparent;
      

  6.   

    也可以这样做:
    将Form的背景色设为一个不常用的颜色,再将Form的TransparentColor(或TransparentKey,记不清了)属性设为Form的背景色.