winforms中的多色对角线渐变

我试图用winforms中的多色对角线渐变填充一个矩形,如下例所示: 对角线渐变我知道这是一个WPF示例,但是有可能在winforms中获得类似的结果吗?

这是一个小例子

void MainFormPaint(object sender, PaintEventArgs e) { LinearGradientBrush br = new LinearGradientBrush(this.ClientRectangle, Color.Black, Color.Black, 0 , false); ColorBlend cb = new ColorBlend(); cb.Positions = new[] {0, 1/6f, 2/6f, 3/6f, 4/6f, 5/6f, 1}; cb.Colors = new[] {Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet}; br.InterpolationColors= cb; // rotate br.RotateTransform(45); // paint e.Graphics.FillRectangle(br, this.ClientRectangle); } 

这是结果

在此处输入图像描述

希望这可以帮助

是的,您可以使用LinearGradientBrush在使用GDI +的winforms中执行此操作。 这是一个代码示例: http : //www.codeproject.com/KB/GDI-plus/gdiplusbrushes.aspx