指示列表视图中的选定项目

时间:2010-08-03 15:54:04

标签: .net winforms

我在.NET Winforms中有一个包含来自目录的文件名的ListView控件。首次显示控件时,我填充列表视图,然后以编程方式选择列表中的第一个项目:

    if (lvwFiles.Items.Count > 0)
    {
        ListViewItem firstItem = lvwFiles.Items[0];
        firstItem.Selected = true;
    }

这样可以正常工作,除了列表中的第一项应该在视觉上突出显示(反向突出显示?),以向用户表明它是所选的那个,如果用户然后点击其中一个项目就会发生。

这似乎是一个愚蠢的问题,但我已经在Stackoverflow上看了一下,而且我没有看到明显的答案。有没有一种简单的方法可以通过设置属性或类似的东西来实现这一点?

4 个答案:

答案 0 :(得分:3)

在设计器中(或通过代码)将HideSelection属性更改为false。即使控件没有焦点,这样做也可以显示所选项目。

答案 1 :(得分:0)

不确定这是否有效,因为我没有运行程序但是你不能选择你想要的行(来自lvwFile.Items)并将Selected值设置为true。例如:

temp.Items(rowIndex).Selected

答案 2 :(得分:-1)

注册selectedIndexChanged事件。在这里,您可以在所选项目上执行所需的任何视觉突出显示。

    void listView1_SelectedIndexChanged( object sender, EventArgs e )
    {
        foreach ( ListViewItem lvi in listView1.SelectedItems )
        {
            lvi.BackColor = Color.Black;
            lvi.ForeColor = Color.Chocolate;
        }
        // TODO: Reset the other items to normal.
    }

答案 3 :(得分:-1)

你在做什么应该可以正常工作。

经过一些测试后,看起来listview的tabstop属性必须设置为true,并且listview的标签索引必须为0。