这是我的代码:
for (int i = 0; i < 30; i++)
{
FileListView.Items.Add(new ListViewItem(new[] { "asd1", "asd2" }));
if (i < 10)
{
FileListView.Items[i].Selected = true;
}
}
FileListView.ItemDrag += new ItemDragEventHandler(FileListView_ItemDrag);
但是当我运行应用程序时,我看不到前10个项目被选中。为了看到它们,我需要点击其中一个,它们会突出显示(但当然是立即取消选择,因为它就像点击一行一样)。
如何预选10件物品?所以用户看到他们被选中,然后可以点击拖放到某个目的地......
答案 0 :(得分:3)
正在选择项目,但未激活控件。使用FileListView.Select()
激活控件。
答案 1 :(得分:2)
听起来您的ListView没有聚焦,因此当您选择不会突出显示的项目时。
您可以像这样关注控件:
FileListView.Focus();
或者更好的是禁用HideSelection属性。这允许ListView在未聚焦时显示所选项目。
FileListView.HideSelection = false;
修改:对于需要显示蓝色的OP新信息,完成后为控件提供键盘焦点:
FileListView.Select();
答案 2 :(得分:0)
您是否使用设计器或代码设置了multiselect属性?
FileListView.MultiSelect=true ;
另请尝试:
FileListView.Invalidate() after the loop.