C#ListView选择所有选择颜色

时间:2016-04-29 17:55:14

标签: c# listview select

我正在尝试使用

将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中有错误吗?

2 个答案:

答案 0 :(得分:2)

根据应用程序的焦点位置,选择可能不会显示为“蓝色”。选择每个项目后将焦点设置回列表视图将使每个项目的背景为“蓝色”:

m_lvFiles.Focus();

假设这是一个win form app ...

答案 1 :(得分:2)

有一个相关问题可能会对您有所帮助:

Here

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);
}

我希望它可以帮到你