【问题标题】:Set selected index in a listview在列表视图中设置选定的索引
【发布时间】:2016-03-17 16:19:28
【问题描述】:

我在 Win Forms 上有一个列表视图,我需要在其中以编程方式设置选定的索引。显然,ListView 没有可以设置的 SelectedIndex 属性。有没有其他方法可以做到这一点?

【问题讨论】:

  • 有一个事件 - SelectedIndexChanged,您可以配置它来做您需要的事情。
  • listView1.Items[0].Selected = true;
  • @TaW 你应该把它作为答案发布,并附上一点解释。

标签: c# winforms listview selectedindex


【解决方案1】:

显然,ListView 没有可以设置的 SelectedIndex 属性。

确实,这是合乎逻辑的,因为您可以选择多个项。

因此它确实具有SelectedItemsSelectedIndices 属性;两者都是只读的。

选择一个项目,只需将其Selected 属性设置为true

listView1.Items[someItemIndex].Selected = true; 

如果 ListView 的 MultiSelect 属性为 false,这将取消选择所有其他项。如果为真,则将项目添加到选定项目的集合中。

要一次性取消选择所有项目,请使用listView1.SelectedIndices.Clear();listView1.SelectedItems.Clear();..

【讨论】:

  • 看来你发表评论和我同时发表答案。为您的回答 +1 :)
  • 要只选择一项,似乎只需将ListViewMultiSelect属性设置为false并选择新项目即可。
  • 是的。但也许仍然需要多选,并且只应重置选择。我试图涵盖所有方面.. 调用 Clear 一次比清除和重新设置 MulitSelect,imo 更清晰。
  • 写代码的时候没想过要测试MultiSelect属性为false,现在代码好像没用了。
【解决方案2】:

您可以通过设置Selected 属性来选择或取消选择项目,例如:this.listView1.Items[2].Selected = true;

编辑

要只选择一项,只需将ListViewMultiSelect 属性设置为false 并选择新的项即可。

【讨论】:

    猜你喜欢
    • 2012-08-09
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 2010-11-21
    相关资源
    最近更新 更多