我有一个常量大小为4的ListBox
我可以添加n个ListBoxItems,一旦大小超过4我启用了滚动条,
问题:当启用滚动(超过4个项目)时,每当我删除最后一个项目时,都会有一个白色补丁代替已删除的项目。
仅当我触摸滚动条时,Patch才会关闭。
我尝试了ListBox.Invalidate(),但没有用
答案 0 :(得分:2)
附加:仅当删除最后一个元素时才会发生这种情况。
解决方案:明确设置新选择,对于最后一个元素,首先滚动列表:
int selected = listBox1.SelectedIndex;
if (selected >= 0)
{
listBox1.Items.RemoveAt(selected);
if (selected == listBox1.Items.Count)
listBox1.SelectedIndex = 0;
listBox1.SelectedIndex = selected - 1;
}
答案 1 :(得分:0)
要从列表框中删除的“删除”代码是什么?如果你使用这样的东西:
listBox.Items[3] = null;
...然后列表框中仍然有4个项目,只是第4个项目为空。您实际上需要删除该项目:
listBox.Items.Remove(3);