1.我的效果图,主要以蓝红渐变色为例
2.我这里是直接写了两个方法调用:
SetGradientRowColors() --定义渐变色的开始和结束并计算混合比例。
BlendColors() --根据混合比例计算两个颜色的混合色。
在使用时只需要确保你dataGridView框里面有数据然后调用一下SetGradientRowColors()方法即可
不多说直接上代码,代码中的dataGridView2在使用时需要替换成你实际的名称,我这里命名的dataGridView2:
//渐变色的startColor和endColor 可自行改变
private void SetGradientRowColors()
{
foreach (DataGridViewRow row in dataGridView2.Rows)
{
if (!row.IsNewRow)
{
// 计算渐变颜色
Color startColor = Color.Blue; // 开始颜色
Color endColor = Color.Red; // 结束颜色
int maxRows = dataGridView2.Rows.Count - 1; // 最大行数
int colorIndex = row.Index;
double blend = (double)colorIndex / maxRows; // 计算混合比例
Color blendedColor = BlendColors(startColor, endColor, blend);
// 设置行颜色
row.DefaultCellStyle.BackColor = blendedColor;
row.DefaultCellStyle.ForeColor = Color.White;
}
}
}
//根据混合比例计算两个颜色的混合色
private Color BlendColors(Color startColor, Color endColor, double blend)
{
int r = (int)(startColor.R + (endColor.R - startColor.R) * blend);
int g = (int)(startColor.G + (endColor.G - startColor.G) * blend);
int b = (int)(startColor.B + (endColor.B - startColor.B) * blend);
return Color.FromArgb(r, g, b);
}
3.七彩色交替
4.七彩色的方法,确保DataGridView内有数据加载后进行调用即可,在调用之前需要在头部定义一个全局变量来存储七种颜色。
//定义颜色变量
private Color[] rowColors = { Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet };
//单元格七彩色相互交替
private void SetRowColors()
{
foreach (DataGridViewRow row in dataGridView2.Rows)
{
if (!row.IsNewRow)
{
int colorIndex = row.Index % rowColors.Length;
row.DefaultCellStyle.BackColor = rowColors[colorIndex];
row.DefaultCellStyle.ForeColor = Color.White;
}
}
}