如何防止列在ListView中移动?

时间:2017-02-16 22:48:30

标签: c# winforms listview

我在ListView中有列。我允许他们搬家。

现在,我希望位置0的列始终保持在该位置。到目前为止,我只设置了一个简单的代码,该代码在移动列时触发:

Is column the first one?
If yes switch it back with the column it was just swapped.

但是,我希望阻止这一举动,以便根本不能移动第0列。有没有办法做到这一点?像"列冻结"?

这样的属性

1 个答案:

答案 0 :(得分:1)

您可以处理ListView.ColumnReordered事件。检查新索引或旧索引是否等于0并取消列重新排序:

private void listView1_ColumnReordered(object sender, ColumnReorderedEventArgs e)
{
    if (e.NewDisplayIndex == 0 || e.OldDisplayIndex == 0)
        e.Cancel = true;
}