代码之家  ›  专栏  ›  技术社区  ›  Drake

重写DataGridViewTextBoxCell和CellPainting

  •  0
  • Drake  · 技术社区  · 15 年前

    我继承了DataGridViewTextBoxCell,因为我需要向它添加一些自定义属性。

    For k As Integer = 0 To grid.Columns.Count - 1
                    grid.Columns(k).AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader
                    If k > 0 Then grid.Columns(k).CellTemplate = New CustomCell()
    Next
    

    尝试将CustomCell添加到与第一列不同的每列中。

    问题是当我附加到网格的cellpraining事件时

    If e.ColumnIndex < 0 OrElse e.RowIndex <= 0 Then Return
    
    Dim grid As DataGridView = TryCast(sender, DataGridView)
    If grid Is Nothing Then Return
    If grid.Columns.Count < e.ColumnIndex OrElse grid.Rows.Count < e.RowIndex Then Return
    
    Dim cell As CustomCell = TryCast(grid(e.ColumnIndex, e.RowIndex), CustomCell)
    If cell Is Nothing Then Return
    

    这个 细胞 自定义单元格 但它仍然存在 DataGridViewTextBoxCell .

    你知道我怎么解决这个问题吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Wade73    15 年前

    我相信您想添加一个自定义列。这里有一篇文章我相信可能会有所帮助- Code Magazine

    推荐文章