7

我有一个 ListView 控件,我试图找出最简单/最好的方法来禁止更改选定的行,而不隐藏选定的行。

我知道有一个HideSelection属性,但只有在ListView仍然启用(但没有集中)时才有效。即使禁用了 ListView,我也需要可以查看选择。

我该如何实施?

4

3 回答 3

2

您还可以使 ListView 所有者绘制。然后,您可以完全控制项目的外观,无论它们是否被选中,或者 ListView 本身是否启用。DrawListViewItemEventArgs 提供了一种要求 ListView 绘制项目的各个部分的方法,因此您只需绘制您感兴趣的位。例如,您可以绘制项目的背景,但将其留给 ListView 进行绘制文本。

于 2008-09-02T21:12:48.600 回答
1

有两个选项,更改所选行禁用的颜色。或者更改所有其他行以模拟它们被禁用,除了选定的行。第一个选项显然是最简单的,而第二个选项显然需要一些额外的保护。

我之前实际上已经完成了第一个选项,并且效果很好。您只需要记住将颜色更改回默认值,以防在此过程中稍后选择另一行。

于 2008-08-18T01:01:35.790 回答
0

实施 SelectedIndexChanged 并执行此操作

    private void listViewABC_SelectedIndexChanged(object sender, EventArgs e)
    {
        listViewABC.SelectedItems.Clear();
    }
于 2009-07-07T06:40:35.400 回答