[C#]关于ListBox的坑

在用C#写个Demo程序的时候,使用ListBox保存读取到的每行内容。

然后在重复读取的时候需要清除ListBox中的内容,我看到ListBox有清除的函数:

lsbFiles.Items.Clear();

以为这个函数就可以解决所有的问题,但是....

[C#]关于ListBox的坑_第1张图片

于是想了个方法准备一行行的解决掉,所以把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个字:“愚蠢”!

教训:以后还是要直面问题,不能想办法规避。

你可能感兴趣的:(c#,开发语言)