datagridview 的 checkbox事件

学习到老死 2014-10-27 12:16:58
 Private Sub dv2_CellValidated(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dv2.CellValidated
If dv2.Columns(e.ColumnIndex).Name = "选择" Then
If dv2.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = True Then
dv2.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.Silver
Else
dv2.Rows(e.RowIndex).DefaultCellStyle.BackColor = Color.White
End If
End If

End Sub

本来希望在每行前面的checkbox被选中后该行立即变成灰色
但实际效果是,见图

每次点击后直到失去焦点,被选中的行颜色才发生变化。

请大家帮忙啊。。
...全文
289 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
鏡椛氹鈅 2014-12-11
  • 打赏
  • 举报
回复
引用 6 楼 woaimm123 的回复:
[quote=引用 2 楼 u012804018 的回复:] 或者CellMouseClick事件也可以试试...
CellMouseClick CellValidating 都不行,必须换行的时候才会显示效果[/quote] http://www.cnblogs.com/chillsrc/p/3486266.html 看下单元格事件触发顺序然后你在测试看看,有没有符合你要求的...
学习到老死 2014-12-10
  • 打赏
  • 举报
回复
引用 2 楼 u012804018 的回复:
或者CellMouseClick事件也可以试试...
CellMouseClick CellValidating 都不行,必须换行的时候才会显示效果
学习到老死 2014-12-10
  • 打赏
  • 举报
回复
引用 2 楼 u012804018 的回复:
或者CellMouseClick事件也可以试试...
CellMouseClick CellValidating 都不行,必须换行的时候才会显示效果
学习到老死 2014-12-10
  • 打赏
  • 举报
回复
引用 2 楼 u012804018 的回复:
或者CellMouseClick事件也可以试试...
CellMouseClick CellValidating 都不行,必须换行的时候才会显示效果
阿通 2014-10-30
  • 打赏
  • 举报
回复
引用 1 楼 u012804018 的回复:
你用的是CellValidated事件当然会在失去焦点的时候变色啊....可以用Click事件,或者CellValidating事件看看...
樓上說的對。cellvalidated事件是失去焦點時觸發的
鏡椛氹鈅 2014-10-27
  • 打赏
  • 举报
回复
或者CellMouseClick事件也可以试试...
鏡椛氹鈅 2014-10-27
  • 打赏
  • 举报
回复
你用的是CellValidated事件当然会在失去焦点的时候变色啊....可以用Click事件,或者CellValidating事件看看...

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧