在用C#写个Demo程序的时候,使用ListBox保存读取到的每行内容。
然后在重复读取的时候需要清除ListBox中的内容,我看到ListBox有清除的函数:
lsbFiles.Items.Clear();
以为这个函数就可以解决所有的问题,但是....
于是想了个方法准备一行行的解决掉,所以把lsbFiles.Items.Clear()修改成下面的代码:
for (int i = lsbFiles.Items.Count - 1; i >= 0; i--) // 要从后面往前删除
{
lsbFiles.SetSelected(i, true);
lsbFiles.ClearSelected();
}
果然执行成功了!以为万事大吉,返回界面一看,根本就没有清空......
后来想了很多办法规避都失败了!再回来看看问题:“Additional information: 设置 DataSource 属性后无法修改项集合”。
微软都给我指出问题在哪里了!真是恍然大悟!
if (lsbFiles.Items.Count > 0)
{
lsbFiles.DataSource = null;
lsbFiles.Items.Clear();
}
煎饼果子直接来一套就搞定了!
回头一望只能说2个字:“愚蠢”!
教训:以后还是要直面问题,不能想办法规避。