C# 重写ListView Clear()方法
我有一个C# 重写ListView Clear()方法,c#,winforms,listview,C#,Winforms,Listview,我有一个ListView类,它使用ItemSelectionChanged事件来维护自己的所选项目列表 除了Clear()似乎没有触发ItemSelectionChanged事件之外,这一切都很正常。 这意味着在调用Clear()之后,列表仍然包含在调用Clear()之前突出显示的所有项目 我想重写Clear()方法,这样我就可以自己清除列表,但我可以看到它没有标记为虚拟。是否有其他方法可以使用现有的Clear()方法 方案B是,我只编写自己的方法,并在清除后立即调用它,但这并没有那么好 lis
ListView
类,它使用ItemSelectionChanged
事件来维护自己的所选项目列表
除了Clear()
似乎没有触发ItemSelectionChanged
事件之外,这一切都很正常。这意味着在调用
Clear()
之后,列表仍然包含在调用Clear()
之前突出显示的所有项目
我想重写Clear()
方法,这样我就可以自己清除列表,但我可以看到它没有标记为虚拟。是否有其他方法可以使用现有的Clear()
方法
方案B是,我只编写自己的方法,并在清除后立即调用它,但这并没有那么好
listView1.Clear();
listView1.ClearMyList();
事实上,我不知道c#(public new void)的这个功能的名称,但是您可以通过创建自己的“customListView”来实现这一点
您不能重写非虚拟方法。因此,编写自己的“新”方法是最好的方法
继承是一个名字我指的是“公共新空间”,这也是继承吗?不,这是隐藏:
var listView = new CustomListView();
listView.Clear();
public class CustomListView : ListView
{
public new void Clear()
{
Console.WriteLine("I can clear myself...");
}
}