C#编程-76:DataGridView当前行显示不同颜色_彭世瑜_新浪博客

举报
彭世瑜 发表于 2021/08/14 00:48:20 2021/08/14
【摘要】 var       值类型 object 引用类型 实现效果: 实现代码: using System; using System.Collections.Generic; using&nbs...
var       值类型
object 引用类型

实现效果:

C#编程-76:DataGridView当前行显示不同颜色

实现代码:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9.  
  10. namespace DataGridViewColor
  11. {
  12.     public partial class Form1 : Form
  13.     {
  14.         public Form1()
  15.         {
  16.             InitializeComponent();
  17.         }
  18.  
  19.         private void Form1_Load(object sender, EventArgs e)
  20.         {
  21.             // TODO:  这行代码将数据加载到表“companyDataSet.clerk”中。您可以根据需要移动或删除它。
  22.             this.clerkTableAdapter.Fill(this.companyDataSet.clerk);
  23.  
  24.         }
  25.  
  26.         private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
  27.         {
  28.             //判断索引有效范围
  29.             if(e.RowIndex>=dataGridView1.Rows.Count-1) return;
  30.  
  31.             //存储原来的颜色值
  32.             Color oldForeColor = new Color();
  33.             Color oldBackColor = new Color();
  34.  
  35.             //判断传入的行是否为当前选中行
  36.             var row=dataGridView1.Rows[e.RowIndex];
  37.             if (row == dataGridView1.CurrentRow)
  38.             {
  39.                 //设置前景色
  40.                 if (row.DefaultCellStyle.ForeColor != Color.White)
  41.                 {
  42.                     oldForeColor = row.DefaultCellStyle.ForeColor;
  43.                     row.DefaultCellStyle.ForeColor = Color.White;
  44.                 }
  45.                 //设置背景色
  46.                 if (row.DefaultCellStyle.BackColor != Color.Blue)
  47.                 {
  48.                     oldBackColor = row.DefaultCellStyle.BackColor;
  49.                     row.DefaultCellStyle.BackColor = Color.Blue;
  50.                 }
  51.  
  52.             }
  53.             //未选中则恢复原来的颜色
  54.             else
  55.             {
  56.                 row.DefaultCellStyle.ForeColor = oldForeColor;
  57.                 row.DefaultCellStyle.BackColor = oldBackColor;
  58.             }
  59.         }
  60.     }
  61. }

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/109661798

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200