当前位置: 代码迷 >> VB Dotnet >> datagridview 的 checkbox事件,该如何处理
  详细解决方案

datagridview 的 checkbox事件,该如何处理

热度:920   发布时间:2016-04-25 02:07:18.0
datagridview 的 checkbox事件
 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被选中后该行立即变成灰色
但实际效果是,见图

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

请大家帮忙啊。。
------解决思路----------------------
你用的是CellValidated事件当然会在失去焦点的时候变色啊....可以用Click事件,或者CellValidating事件看看...
------解决思路----------------------
或者CellMouseClick事件也可以试试...
------解决思路----------------------
引用:
你用的是CellValidated事件当然会在失去焦点的时候变色啊....可以用Click事件,或者CellValidating事件看看...

樓上說的對。cellvalidated事件是失去焦點時觸發的
------解决思路----------------------
引用:
Quote: 引用:

或者CellMouseClick事件也可以试试...


CellMouseClick
CellValidating
都不行,必须换行的时候才会显示效果

http://www.cnblogs.com/chillsrc/p/3486266.html
看下单元格事件触发顺序然后你在测试看看,有没有符合你要求的...
  相关解决方案