C# 覆盖Listview.Columns.Add(字符串)

C# 覆盖Listview.Columns.Add(字符串),c#,visual-studio-2010,listview,C#,Visual Studio 2010,Listview,我有一个自定义的listview类,如下所示: class ListTreeView : ListView { //some stuff } 是否有方法覆盖列。添加(字符串文本)就像我可以使用Refresh()一样 是否有方法覆盖列。添加(字符串文本);就像我可以用Refresh()一样 “不” 如果方法被声明为Virtual,则Yes。但不幸的是,在您的情况下,它是一个No,因为ColumnHeaderCollection不能被重写。我认为您作为ListView不太走运。列是只读的。

我有一个自定义的listview类,如下所示:

class ListTreeView : ListView
{
    //some stuff
}
是否有方法覆盖
列。添加(字符串文本)就像我可以使用Refresh()一样

是否有方法覆盖列。添加(字符串文本);就像我可以用Refresh()一样

“不”


如果方法被声明为
Virtual
,则
Yes
。但不幸的是,在您的情况下,它是一个
No
,因为
ColumnHeaderCollection
不能被重写。

我认为您作为ListView不太走运。列是只读的。因此,您无法将自定义ListView.ColumnHeaderCollection分配给它。为什么需要覆盖它?我想在每次添加新列时都使用列计数器。我可以用其他的方法来做,但我认为用覆盖会更好,你能说得更具体一点吗?你的意思是
VirtualMode=true?这很好,这是可以做到的,但是如何做到呢?他的意思是如果Add方法被声明为virtual。但是这没有意义,因为您不能覆盖ColumnHeaderCollection。@沃特:谢谢。更新了我的答案。
public override void Refresh()
{
    //some stuff
}