【问题标题】:C# ListView SelectAll selection colorC# ListView SelectAll 选择颜色
【发布时间】:2016-08-24 23:46:03
【问题描述】:

我正在尝试将 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 有问题?

【问题讨论】:

    标签: c# listview select


    【解决方案1】:

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

    m_lvFiles.Focus();
    

    假设这是一个 win forms 应用程序...

    【讨论】:

    • 谢谢 denvercoder9,这是一个 win forms 应用程序,但只是调用 Focus() 似乎没有帮助(否则我不会问)。
    【解决方案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);
    }
    

    希望对你有帮助

    【讨论】:

    • 谢谢Nestoraj,你能指定如何使用这个功能吗? “掩码”和“价值”应该有什么价值?最好使用代码 sn-p。
    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 2019-01-17
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多