C# DataGridView单元格画斜线

功能要求:不符合条件的单元格使用斜线形式表现出来。

1、定义两个变量,一个是存储单元格位置的数组,一个是Graphics 变量

 Graphics gdi; 
 List<DataGridViewCell> pathList = new List<DataGridViewCell>();

2、将要划斜线的单元格都存储起来(注意在添加完单元格后需要添加(this.dataGridView1.focus();))

  pathList.Add(dataGridView1.Rows[i].Cells[inde]);

3、写dataGridview方法中的dataGridView1_CellPainting()方法

复制代码
   var realList = pathList.Where(a => a.RowIndex >= 0 && a.ColumnIndex >= 0);
   foreach (var obj in realList)
      {
           gdi = e.Graphics; //得到DataGridView的画布
            var size = obj.Size; //单元格大小
             Rectangle rec = this.dataGridView1.GetCellDisplayRectangle(obj.ColumnIndex, obj.RowIndex, false);  //得到单元格对应的坐标,长宽
             //在画布上开画,坐标就是要画的单元格的坐标,而Height/2是画到单元格的中间,长度就是单元格的长度。
             gdi.DrawLine(new Pen(Color.LightGray), new Point(rec.X, rec.Y ), new Point(rec.X + rec.Width, rec.Y + rec.Height));
                   
     }
复制代码

 

posted @   凉面好好吃  阅读(1511)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示