zoukankan      html  css  js  c++  java
  • DataGrridView 当前行显示不同颜色

    如果想让选中DataGridview的行显示不同颜色,就要通过DataGridview控件RowPerpaint事件中重新设置所选行的DefauleCellStyle属性来实现

       private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
            {
                //判断 当前索引值是否大于等于DataGridview中行的个数减去1
                if (e.RowIndex>=dataGridView1.Rows.Count - 1)
                {
                    return;
                }
                //定一个前景颜色
                Color forecolor = new Color();
                //定义一个背景颜色
                Color backcolor = new Color();
    
                //var 所有类的值类型  object 所有类的引用类型
                var row = dataGridView1.Rows[e.RowIndex];
                //如果 当前行等于表格当前行
                if (row==dataGridView1.CurrentRow)
                {   
                    //如果当前行默认的前景颜色不等于白色
                    if (row.DefaultCellStyle.ForeColor != Color.White)
                    {
    
                        forecolor = row.DefaultCellStyle.ForeColor;
                        //当前行默认前景颜色等于白色
                        row.DefaultCellStyle.ForeColor = Color.White;
                    }
    
                    if (row.DefaultCellStyle.BackColor != Color.Blue)
                    {
                        backcolor = row.DefaultCellStyle.BackColor;
                        row.DefaultCellStyle.BackColor = Color.Blue;
                    }
                   
                }
                    //如果当前行不等于表格的行
                else
                {
                    //当前行的默认背景颜色等于定义的变量颜色
    
                    row.DefaultCellStyle.BackColor = backcolor;
                    row.DefaultCellStyle.ForeColor = forecolor;
                }
               
    
            private void dataGridView1_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
            {
                //判断 当前索引值是否大于等于DataGridview中行的个数减去1
                if (e.RowIndex>=dataGridView1.Rows.Count - 1)
                {
                    return;
                }
                //定一个前景颜色
                Color forecolor = new Color();
                //定义一个背景颜色
                Color backcolor = new Color();
    
                //var 所有类的值类型  object 所有类的引用类型
                var row = dataGridView1.Rows[e.RowIndex];
                //如果 当前行等于表格当前行
                if (row==dataGridView1.CurrentRow)
                {   
                    //如果当前行默认的前景颜色不等于白色
                    if (row.DefaultCellStyle.ForeColor != Color.White)
                    {
    
                        forecolor = row.DefaultCellStyle.ForeColor;
                        //当前行默认前景颜色等于白色
                        row.DefaultCellStyle.ForeColor = Color.White;
                    }
    
                    if (row.DefaultCellStyle.BackColor != Color.Blue)
                    {
                        backcolor = row.DefaultCellStyle.BackColor;
                        row.DefaultCellStyle.BackColor = Color.Blue;
                    }
                   
                }
                    //如果当前行不等于表格的行
                else
                {
                    //当前行的默认背景颜色等于定义的变量颜色
    
                    row.DefaultCellStyle.BackColor = backcolor;
                    row.DefaultCellStyle.ForeColor = forecolor;
                }
               
  • 相关阅读:
    Kubernetes——安装GlusterFS分布式文件系统
    Jenkins从入门到精通——SonarQube:持续代码质量检查
    Jenkins从入门到精通——代码质量
    Redis从入门到精通——Redis数据类型——1、字符串(String)命令
    Redis从入门到精通——Redis客户端
    并发查询ElasticSearch, 根据分片来实现
    Golang开源定时任务调度框架robfig/cron优化
    解决Ubuntu17.04以上系统,yarn init报错
    Angularjs中的$q详解
    总结那些有默认margin,padding值的html标签
  • 原文地址:https://www.cnblogs.com/xiaowie/p/8651662.html
Copyright © 2011-2022 走看看