比如说我在Item1到Item99之间的已检查ListBox中有100个项目。如果选择了Item20,Item30和Item31,我希望在列表顶部看到所选项目作为前3项,然后是剩余项目。请帮我解决这个问题?
由于 肉酱
答案 0 :(得分:0)
因为我想如果你选择的东西,如果位置发生变化,尝试选择多个项目可能会有点困难,我建议你在松开焦点时移动它们。
类似以下的算法应该有效:
listbox_LostFocus()
{
if (there are any selected items after the first unselected item)
move them to immediately prior the first unselected item
}
可以通过调用Items.Remove(item)
后跟Items.Insert(item, position)
来进行移动。