gpt4 book ai didi

c# - 清空 ListView

转载 作者:太空狗 更新时间:2023-10-29 17:54:03 43 4
gpt4 key购买 nike

我有一个简单的 Windows 窗体,其中包含一个名为 listListView 对象。在窗体上,一个按钮使我能够在单击 list.Items.Clear() 时清空列表。这很好用。

现在我有一个单独的类 Test,它的方法 update() 在表单外部的某些事件上被调用。在构建表单时,我使用 SetList 方法传递了对列表的引用。在 Debug模式下,update() 在我触发的事件上被调用,它的内容被执行,但我的列表没有被清除。

这是为什么?引用设置正确,我检查过。

class Test
{
private ListView list;

public void setList(ListView list)
{
this.list = list;
}

public void update()
{
this.list.Items.Clear();
}
}

当我仔细观察通过在 update() 中放置断点来修改我的列表时,列表被清理并保持清理状态。看起来真的好像是另一个正在修改的列表,但我只有一个而且从来没有对它做任何新的......????

最佳答案

使用下面修改过的update 方法:

   public void update()
{
this.list.Items.Clear();
this.list.Update(); // In case there is databinding
this.list.Refresh(); // Redraw items
}

如果这不起作用,很明显您正在修改 list 对象的另一个实例。在这种情况下,暂时像下面这样修改对象的声明,看看是否有任何改变。如果是这样,您将需要检查您的代码以确保您正在清除列表的正确实例:

private static ListView list;

关于c# - 清空 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8169852/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com