VB   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了vb.net – 在DataGridView中发出检测复选框状态大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在.Net应用程序中有一个DataGridView控件,其中包含一个复选框列.我希望用户能够编辑复选框.我遇到的问题是我在用户检查后无法检测到复选框的状态.

如果最初选中该复选框,则一旦DataGridViewcheckBoxCell获得焦点,它将立即返回.但是,如果我再次单击该复选框并取消选中它,则它仍然会返回选中状态.从那时起,它将始终返回检查,无论复选框的实际状态如何,直到它失去焦点并再次获得它.

同样,如果复选框最初未选中,那么当它获得焦点时,它都将在click事件中返回未选中状态.

这是我的代码.

Private Sub grdTemplates_CellContentClick(ByVal sender As Object,ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdTemplates.CellContentClick
    Dim strValue As String = ""
    Try
        If Me.grdTemplates.columns(e.columnIndeX).Name = "colCurrentTemplate" Then
            'The user clicked on the checkbox column
            strValue = Me.grdTemplates.Item(e.columnIndex,e.RowIndeX).Value

            'THIS VALUE NEVER CHANGES WHILE THE DataGridViewcheckBoxCell HAS FOCUS
            Me.lblTemplates.Text = strValue
        End If

    Catch ex As Exception
        HandleError(ex.ToString)
    End Try

End Sub

提前致谢,

麦克风

@H_944_16@ 在您的代码中包含此内容:
Sub dataGridView1_CurrentCellDirtyStateChanged(ByVal sender As Object,ByVal e As EventArgs) Handles dataGridView1.CurrentCellDirtyStateChanged
    if DataGridView1.IsCurrentCellDirty Then
        dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit)
    End If
End Sub

资料来源:http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.currentcelldirtystatechanged.aspx

大佬总结

以上是大佬教程为你收集整理的vb.net – 在DataGridView中发出检测复选框状态全部内容,希望文章能够帮你解决vb.net – 在DataGridView中发出检测复选框状态所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。