winform listview选中一行后 其他行置为不可选
时间: 2024-11-20 21:40:12 浏览: 17
WinForm ListView 添加图片、布尔、组合框、数字框等复杂控件
在Windows Forms的ListView中,当你想要在选中某一行后,其他行变为不可选的状态,可以通过遍历ListView的Items并设置每个Item的`Selected`属性为False来实现。这里有一个简单的示例:
1. 获取ListView对象,假设其名为`lvMyListView`:
```csharp
ListView lvMyListView = this.lvMyListView; // 替换为你的ListView控件的实际名称
```
2. 当某一行被选中时(例如,通过`ItemSelectionChanged`事件),获取当前选中的项并更新其他项:
```csharp
private void lvMyListView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
{
if (lvMyListView.SelectedItems.Count > 0)
{
foreach (ListViewItem item in lvMyListView.Items)
{
if (!item.Selected && item != lvMyListView.SelectedItems[0])
{
item.Selected = false;
}
}
}
}
```
上述代码会在有新项被选中时,除了那个新选中的项外,取消所有其他项的选定。
阅读全文