改变DataGridView中的DataGridViewButtonCell单元格的背景色.
尝试了下面的代码,但无法改变单元格的背景色.
DataGridViewRow row = new DataGridViewRow();
DataGridViewButtonCell dg_btn_cell = new DataGridViewButtonCell();
dg_btn_cell.Value = "Component" + i;
dg_btn_cell.Style.BackColor = Color.Red;
dg_btn_cell.Style.ForeColor = Color.Black;
dg_btn_cell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
row.Cells.Add(dg_btn_cell);
网上查了下资料,这里整理下,主要有3种方式,其中第三种方式比较理想.
方式1,绘制按钮,背景色改变了,但是按钮效果没有了.
来自链接https://bbs.csdn.net/topics/390579809
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{if (e.ColumnIndex == 0){e.Handled = true;using (SolidBrush brush = new SolidBrush(Color.Red)){e.Graphics.FillRectangle(brush, e.CellBounds);}ControlPaint.DrawBorder(e.Graphics, e.CellBounds, Color.Yellow, ButtonBorderStyle.Outset);}
}
其他两种方式来自链接https://bbs.csdn.net/topics/390583120与https://stackoverflow.com/questions/586829/change-color-of-button-in-datagridview-cell
方式2,在Program.cs中屏蔽该段代码
//Application.EnableVisualStyles();
下面的代码执行后,单元格中button的背景色确实改变了,但是界面上的其他控件显示效果会受到影响,如System.Windows.Forms.Button将显示为经典的windows(我的系统为win10)按钮效果.
dg_btn_cell.Style.BackColor = Color.Red;
方式3 ,设置DataGridViewButtonCell的FlatStyle属性,Popup或者Flat.
DataGridViewRow row = new DataGridViewRow();
DataGridViewButtonCell dg_btn_cell = new DataGridViewButtonCell();
dg_btn_cell.Value = "Component" + i;
dg_btn_cell.FlatStyle = FlatStyle.Flat;//FlatStyle.Popup;
dg_btn_cell.Style.BackColor = Color.Red;
dg_btn_cell.Style.ForeColor = Color.Black;
dg_btn_cell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
row.Cells.Add(dg_btn_cell);
其他实现:https://stackoverflow.com/questions/586829/change-color-of-button-in-datagridview-cell中提到可以通过编写DataGridViewButtonCell的派生类,然后在派生类中重载paint方法中调用ButtonRenderer的DrawButton方法来定制DataGridViewButtonCell的外观效果.
ButtonRenderer链接 https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.buttonrenderer?redirectedfrom=MSDN&view=netframework-4.7.2
改变DataGridView中的DataGridViewButtonCell单元格的背景色.相关推荐
- datagridview java_仅更新datagridview中的一个单元格
我正在编写一个Watch Window,它从 Serial Port 获取数据,并在 DataGridView 中显示变量info / value . 我有一个 Timer Event ,每隔500毫 ...
- 获取 Windows 窗体 DataGridView 控件中选定的单元格、行和列
获取 DataGridView 控件中选中的单元格 使用 SelectedCells 属性. 注意 使用 AreAllCellsSelected 方法可避免显示可能具有大量数据的单元格. Visual ...
- Winform实现在DataGridView控件的单元格中添加多个控件
Winform实现在DataGridView控件的单元格中添加多个控件 背景 实现思路 关键代码 完整代码下载 背景 DataGridView控件的列是支持TextBoxColumn.ComboBox ...
- 怎么在html的表格中加筛选,excel中表头合并单元格的筛选
EXCEL中表头合并,怎么实现筛选数据? 亲,如下面的动画演示,选中第5行,点击菜单"数据","筛驯. excel中有合并单元格的行怎么才能筛选整个表格其中 直接对合并过 ...
- 合并单元格后打字换行_excel中合并了单元格以后往里面打字如果打两行字,怎么换行...
点击查看excel中合并了单元格以后往里面打字如果打两行字,怎么换行具体信息 答:1.演示使用的软件为Excel电子表格,软件版本为office家庭和学生版2016. 2.为了演示如何在合并的单元格中 ...
- 如何删除UITableView中的空单元格? [重复]
本文翻译自:How to remove empty cells in UITableView? [duplicate] This question already has an answer here ...
- 在GridView中设置每个单元格的数据
在GridView中设置每个单元格的数据 今天做后台开发时,需要实现一个需求是在GridView渲染出来的显示数据的表格中增加一列数据:状态列.增加一列数据是比较简单的,但是,状态的表示在数据库中使用 ...
- 在stringgrid的drawcell事件处理过程中,给单元格赋值时,要用textout输出,不要像一般给cell[i,j]赋值那样。
在stringgrid的drawcell事件处理过程中,给单元格赋值时,要用textout输出,不要像一般给cell[i,j]赋值那样.
- 计算机考试单元格,计算机等级考试技巧在Excel中如何对单元格进行设置?
问:计算机等级考试技巧在Excel中如何对单元格进行设置? 考无忧小编解答: 步骤一:选中要设置的单元格,右击,出现下图对话框. 步骤二:点"设置单元格格式"功能,出现下图对话框, ...
最新文章
- 将SVN与BUG跟踪管理集成
- 科大星云诗社动态20210323
- php tongjiapi 使用_Kayako REST API使用详解一
- Nginx 下载限速
- muduo学习笔记 - 第1章 C++多线程系统编程
- spring事务管理-概念部分
- 设计模式------观察者模式
- 如何选择一款优秀的儿童读写台灯?
- 微服务探索与实践—服务注册与发现
- 半波对称振子方向图_画好服装款式图的五个要点
- $ORACLE_HOME变量值末尾多“/”惹的祸
- linux 内核 网卡驱动 移植,linux内核移植步骤添加dm9000网卡驱动(设备树).docx
- Tricks(十九)—— 获得 list of lists 每一列的最大最小值
- cnpm 没反应_世界上“最蠢”的鱼, 被吃了一半还没反应, 但永远不会灭绝
- Unity分屏之使用TUIO实现互动投影
- 如何查看谷歌地球卫星地图的拍摄时间
- 软工网络15团队作业4——Alpha阶段敏捷冲刺之Scrum 冲刺博客(Day2)
- dwf是什么格式文件
- 【学习方法】 高效记忆秘籍,背书轻松开挂!3个方法专治记不住忘得快,让你像喝水一样高效学习!
- Mac自带Safari浏览器如何清除缓存
热门文章
- 英文数字汇总,KMGT,毫微纳
- 实现阿里云OSS文件上传
- 使用python中py2neo包连接neo4j(安装,连接,成功解决)
- 【谷歌浏览器 Google Chrome安装失败 糟糕!安装失败。错误代码:0x80070057】解决方法——应用商店安装
- 【唐老狮】C#——结构体和类的区别
- HTML 访问本地 Markdown 文件
- MYSQL数据库四种储存引擎
- 轻量级关系数据库SQLite的安装和SpringBoot整合
- 高物实验报告计算机模拟高分子,高分子物理与化学国家重点实验室-苏州大学学术交流报告会举行...
- 目前所有的ANN神经网络算法大全