我有固定大小的列表框4列表框更新问题
我可以添加ListBoxItems正数,一旦规模超过4我已经启用滚动条,
问题:当滚动启用(超过4项),每当我删除最后一个项目,有一个白色补丁代替删除项目。
只有当我触摸滚动条时,补丁才会熄灭。
我试过ListBox.Invalidate(),但是没有用
我有固定大小的列表框4列表框更新问题
我可以添加ListBoxItems正数,一旦规模超过4我已经启用滚动条,
问题:当滚动启用(超过4项),每当我删除最后一个项目,有一个白色补丁代替删除项目。
只有当我触摸滚动条时,补丁才会熄灭。
我试过ListBox.Invalidate(),但是没有用
附加说明:只有在删除最后一个元素时才会发生这种情况。
解决方案:明确设置新的选择,并为最后一个元素榜上无名滚动第一:
int selected = listBox1.SelectedIndex;
if (selected >= 0)
{
listBox1.Items.RemoveAt(selected);
if (selected == listBox1.Items.Count)
listBox1.SelectedIndex = 0;
listBox1.SelectedIndex = selected - 1;
}
什么是你的“删除”代码从列表框中删除?如果您使用的是这样的:
listBox.Items[3] = null;
...然后仍然有4个项目在列表框中,只是第四个为空。您实际上需要删除该项目:
listBox.Items.Remove(3);
我只在做listBox.Items.Remove(3),总之上面的答案解决了我的问题 – Gaddigesh 2010-04-20 10:03:20
您使用的BeginUpdate()方法的地方,并忘记调用EndUpdate()方法(或跳过它是因为例外)? – TLiebe 2010-04-19 14:05:03
不,我没有使用BeginUpdate() – Gaddigesh 2010-04-19 14:16:42