我想实现一个有三种颜色的线形渐变,代码如下:  
System.Drawing.Drawing2D.LinearGradientBrush  brush  =  new  System.Drawing.Drawing2D.LinearGradientBrush(new  Rectangle(new  Point(  0  ,  0  )  ,  this.Size  )  ,  System.Drawing.Color.Red    
                                               ,  Color.Yellow  ,  System.Drawing.Drawing2D.LinearGradientMode.Horizontal);  
 
                                   System.Drawing.Drawing2D.ColorBlend  colorBlend  =  new  System.Drawing.Drawing2D.ColorBlend(3);  
                                   colorBlend.Colors[0]  =  Color.Green;  
                                   colorBlend.Colors[1]  =  Color.Yellow;  
                                   colorBlend.Colors[2]  =  Color.Red;  
 
                                   colorBlend.Positions[0]  =  0.0f;  
                                   colorBlend.Positions[1]  =  0.3f;  
                                   colorBlend.Positions[2]  =  1.0f;  
 
                                   brush.InterpolationColors  =  colorBlend;  
 
                                   System.Drawing.Drawing2D.Blend  blend  =  new  System.Drawing.Drawing2D.Blend(3);  
                                   blend.Factors[0]  =  0.0f;  
                                   blend.Positions[0]  =  0.0f;  
 
                                   blend.Factors[1]  =  0.7f;  
                                   blend.Positions[1]  =  0.1f;  
 
                                   blend.Factors[2]  =  1f;  
                                   blend.Positions[2]  =  1f;  
 
                                   brush.Blend  =  blend;  
                                   g.FillRectangle(brush  ,  1  ,  1  ,  this.Size.Width  ,  this.Size.Height);  
 
但是出来的还是两个颜色,各位高手帮看看,是那个地方的问题。