DataGridViewButtonCell增加事件处理
查看MSDN帮助文档:
DataGridViewButtonCell 类是用于显示类似按钮的用户界面的专用类型的 DataGridViewCell。
DataGridViewButtonColumn 专门用于保存此类型单元格的列类型。若要设置现有 DataGridViewButtonCell 之后的列中的单元格模式,请将此列的 CellTemplate 属性设置为该单元格。默认情况下,将 CellTemplate 初始化为新的 DataGridViewButtonCell。
若要响应用户单击按钮,请处理 DataGridView.CellClick 或 DataGridView.CellContentClick 事件。在事件处理程序中,可以使用 DataGridViewCellEventArgs.ColumnIndex 属性来确定单击是否发生在按钮列中。可以使用 DataGridViewCellEventArgs.RowIndex 属性来确定单击是否发生在特定按钮单元格中。
列的与单元格相关的属性是模板单元格的具有相似名称的属性的包装。更改模板单元格的属性值只会影响那些在更改之后添加的基于该模板的单元格。但是,更改列的与单元格相关的属性值将更新模板单元格和列中所有其他单元格,必要时还将刷新列显示。
1 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
2 {
3 if (e.ColumnIndex != -1)
4 {
5 if (this.dataGridView1.Columns[e.ColumnIndex].Name == "ColColor")//颜色显示按钮事件
6 {
7 //颜色
8 ColorDialog colordlg = new ColorDialog();
9 if (colordlg.ShowDialog(this)==DialogResult.OK)
10 {
11
12 DataGridViewCellStyle dgvCellStyle=new DataGridViewCellStyle() ;
13 dgvCellStyle.BackColor=colordlg.Color;
14 ((DataGridViewButtonCell)this.dataGridView1.Rows[e.RowIndex].Cells["ColColor"]).Style= dgvCellStyle;
15 }
16 }
17 }
18 }
在给DataGridViewComboBoxCell增加事件是可以在EditingControlShowing 事件以将事件处理程序附加。
可以处理此事件,以便在单元格进入编辑模式时对编辑控件执行自定义初始化。 要自定义控件的显示特征,请设置 DataGridViewEditingControlShowingEventArgs.CellStyle 属性返回的对象的属性。 要执行其他初始化,请将 DataGridViewEditingControlShowingEventArgs.Control 属性的值强制转换为特定的控件类型并直接访问成员。 例如,可以处理 EditingControlShowing 事件以将事件处理程序附加到编辑控件的事件中。
![]() |
---|
DataGridView 控件一次承载一个编辑控件,并且只要单元格类型在编辑之间不发生更改,就重新使用该编辑控件。 将事件处理程序附加到编辑控件时,因此必须采取预防措施以避免多次附加同一处理程序。 要避免出现此问题,请在将处理程序附加到事件之前从该事件中移除该处理程序。 如果处理程序已附加到事件,这样将防止重复,但在其他情况下将不起任何作用。 有关更多信息,请参见 DataGridViewComboBoxEditingControl 类概述中的代码示例。 |
参考文献:
1.http://www.cnblogs.com/freeliver54/archive/2008/03/06/1093569.html
2.http://msdn.microsoft.com/zh-cn/library/system.windows.forms.datagridviewbuttoncell(v=VS.90)
3.http://www.cnblogs.com/lhxhappy/archive/2008/12/02/1345377.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律