2009-12-17 81 views
0

我繼承了DataGridViewTextBoxCell,因爲我需要向它添加一些自定義屬性。覆蓋DataGridViewTextBoxCell和CellPainting

在運行時創建DataGridView的實例,並綁定數據後,我做到以下幾點:

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不同的每個列。

的問題是,當我連接到電網的CellPainting事件並做出

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 

細胞類型從未型CustomCell但它仍然DataGridViewTextBoxCell

你有什麼想法我該如何解決這個問題?

我與VS2008和框架3.5

回答

0

我相信你想添加自定義列工作。這裏有一篇我認爲可能有用的文章 - Code Magazine

+0

我看了文章,很有趣,但它並沒有解決我的問題。我不想添加自定義列,但只通過添加一些屬性來添加DataGridViewTextBoxCell – Drake 2009-12-18 08:54:39