使用checkboxcolumn datagridview1更改行字体类型

时间:2015-12-01 14:43:50

标签: vb.net visual-studio-2012

我使用 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行:(

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