DataGridView框内颜色渐变或者交替七彩色

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;
                }
            }
        }
  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值