C# 在列表视图中设置所选索引
我在Win窗体上有一个listview,需要通过编程设置所选索引。显然,ListView没有可设置的SelectedIndex属性。还有其他方法吗?您可以通过设置属性来选择或取消选择项目,例如:C# 在列表视图中设置所选索引,c#,winforms,listview,selectedindex,C#,Winforms,Listview,Selectedindex,我在Win窗体上有一个listview,需要通过编程设置所选索引。显然,ListView没有可设置的SelectedIndex属性。还有其他方法吗?您可以通过设置属性来选择或取消选择项目,例如:this.listView1.Items[2]。Selected=true 编辑 要仅选择一项,只需将列表视图的MultiSelect属性设置为false,然后选择新项即可。显然,列表视图没有可设置的SelectedIndex属性 事实上,这是合乎逻辑的,因为您可以选择多个项目 因此,它确实具有Selec
this.listView1.Items[2]。Selected=true代码>
编辑
要仅选择一项,只需将列表视图的MultiSelect
属性设置为false
,然后选择新项即可。显然,列表视图没有可设置的SelectedIndex属性
事实上,这是合乎逻辑的,因为您可以选择多个项目
因此,它确实具有SelectedItems
和selectedDices
属性;两者都是只读的
要选择一个项目,只需将其Selected
属性设置为true
:
listView1.Items[someItemIndex].Selected = true;
如果ListView的MultiSelect
属性为false,则将取消选择所有其他项。如果为true,则将该项添加到所选项集中
要一次取消选中所有项目,请使用listView1.SelectedIndices.Clear()
或列表视图1.选择editems.Clear()代码>。有一个事件-SelectedIndexChanged,您可以将其配置为执行所需操作。listView1.Items[0]。Selected=true
@TaW你应该把它作为答案贴出来,再加上一点解释。看来你是同时贴评论和我的答案的+您的答案是:)要仅选择一项,似乎将ListView
的MultiSelect
属性设置为false并仅选择新项就足够了。是。但可能仍然需要multiselect,只需重置选择。我试着涵盖所有方面。。调用Clear
一次比清除并重新设置MulitSelect,imo更清晰。在编写代码时,我没有想到将MultiSelect
属性测试为false
,现在代码似乎没用了。