我有一个简单的Windows窗体,其中包含一个ListView名为的对象list.在表单上,一个按钮使我可以在单击时清空列表list.Items.Clear().这很好用.
现在我有一个单独的类Test,其方法update()在窗体外部的一些事件上调用.在构造表单时,我使用该SetList方法传递对列表的引用.在调试模式下,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;
| 归档时间: | 
 | 
| 查看次数: | 9086 次 | 
| 最近记录: |