用下面的代码填充label
Graphics g=e.Graphics;
Color FColor=Color.White;
Color TColor=Color.Orange;
Brush b=new LinearGradientBrush(this.ClientRectangle,FColor,TColor,LinearGradientMode.Horizontal);
g.FillRectangle(b,this.ClientRectangle);执行后label上的icon和文字都不见了,怎么解决啊??

解决方案 »

  1.   

    渐变色不是这样画的,如果需要渐变色的背景色,需要重写Lable的OnPaint()事件
      

  2.   

    protected override void Paint(System.Drawing.Graphics g,System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight) 

    backBrush = new LinearGradientBrush(bounds,Color.FromArgb(255, 200, 200),Color.FromArgb(128, 20, 20),LinearGradientMode.BackwardDiagonal); 
    foreBrush = new SolidBrush(Color.White); 
    }