我使用 VB.Net 2012 成功构建了一个项目,但现在我遇到了一个问题 如果单击Checkboxcolumn,我想更改 ROW font-type(Strikeout) 其他行是普通字体类型(常规)
我认为该事件是 Table1DataGridView_CurrentCellDirtyStateChanged 但是如何编码我的问题?
我的Checkboxcolumn代码是
For x As Integer = Table1DataGridView.Rows.Count - 1 To 0 Step -1
If Table1DataGridView.Rows(x).Cells("DataGridViewCheckBoxColumn1").Value Then
Me.Table1DataGridView.Rows(x).Cells(x).Style.Font = New System.Drawing.Font(My.Settings.ftype, My.Settings.fsize, FontStyle.Strikeout)
End If
Next
它只适用于所有行仅适用于1行:(
答案 0 :(得分:1)
我假设您有2列,第一列是DataGridViewCheckBoxColumn
。每次单击第一列中的单元格时,第二列的相应行中的字体将更改,如说明中所示。对于这种情况,CellContentClick
事件表现得非常好。示例代码:
Private Sub Table1DataGridView_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick
Dim curRow = e.RowIndex
Dim curCol = e.ColumnIndex
If curRow >= 0 And curCol = 0 Then
Table1DataGridView.Rows(curRow).Cells(1).Style.Font = New System.Drawing.Font(My.Settings.ftype, My.Settings.fsize, FontStyle.Strikeout)
End If
End Sub