我正在尝试使用
将ListView的所有项目设置为已选中foreach (ListViewItem item in this.m_lvFiles.Items)
{
item.Selected = true;
}
这是有效的。但是列表框看起来像 Select All, programatically(所有项目'背景颜色为白色)。 如果我手动选择项目,背景颜色为蓝色,如第二张图片(Select All, manually)中所示。
HideSelection=False, FullRowSelection=True, MultiSelect=True.
问题:有没有办法以编程方式选择项目,例如手动选择它们?
或者ListView中有错误吗?
答案 0 :(得分:2)
根据应用程序的焦点位置,选择可能不会显示为“蓝色”。选择每个项目后将焦点设置回列表视图将使每个项目的背景为“蓝色”:
m_lvFiles.Focus();
假设这是一个win form app ...
答案 1 :(得分:2)
有一个相关问题可能会对您有所帮助:
public static void SetItemState(ListView list, int itemIndex, int mask, int value) {
LVITEM lvItem = new LVITEM();
lvItem.stateMask = mask;
lvItem.state = value;
SendMessageLVItem(list.Handle, LVM_SETITEMSTATE, itemIndex, ref lvItem);
}
我希望它可以帮到你