Vb.net vb无法强制转换用户类型

Vb.net vb无法强制转换用户类型,vb.net,Vb.net,我有两个新班级 Public Class ColCust Inherits DataGridViewColumn Dim clsCellText As New CellCust Public Sub New() Me.CellTemplate = clsCellText End Sub End Class Public Class CellCust Inherits DataGridViewTextBoxCell End Class

我有两个新班级

Public Class ColCust
    Inherits DataGridViewColumn

    Dim clsCellText As New CellCust
    Public Sub New()
        Me.CellTemplate = clsCellText
    End Sub
End Class

Public Class CellCust
    Inherits DataGridViewTextBoxCell
End Class
在主窗体上,我有一个网格,我尝试使用新类

With dg6
    .Columns.Clear()
    .Rows.Clear()
    For iCol As Integer = 0 To 4
        Dim col As New ColCust
        .Columns.Add(col)
    Next
    .Rows.Add(New String() {"1"})
    .Rows.Add(New String() {"2"})
    .Rows.Add(New String() {"3"})
    .Rows.Add(New String() {"4"})
    Me.Controls.Add(dg6)
End With
到现在为止一切正常, 但这里我得到了错误

无法强制转换类型为的对象 要键入的“System.Windows.Forms.DataGridViewTextBoxColumn” “Test.ColCust”

怎么了

Dim colText As DataGridViewTextBoxColumn
colText = dg6.Columns(0)

您是否尝试过DirectCastdg6.Columns0,Test.ColCust?ColCust继承自DataGridViewColumn,而不是DataGridViewTextBoxColumn。谢谢,是的,我尝试过DirectCast&CType nothing正在工作。ColCust继承自DataGridViewColumn对不起,您说得对,应该是这样的