如何在.NET 2.0 ListView中选择All/SelectNone?

如何在.NET 2.0 ListView中选择All/SelectNone?,listview,selectall,Listview,Selectall,在listview中选择全部或不选择项目的好方法是什么,而不使用: foreach (ListViewItem item in listView1.Items) { item.Selected = true; } 或 我知道基本的Win32 listview公共控件支持,您可以使用它来设置所选状态,通过将-1作为索引传递,它将应用于所有项。我不希望向恰好位于.NET Listview控件后面的控件发送PInvoking消息(我不想成为一个差劲的开发人员,依赖于未记录的行为,因为当他们将其更改

在listview中选择全部或不选择项目的好方法是什么,而不使用:

foreach (ListViewItem item in listView1.Items)
{
 item.Selected = true;
}

我知道基本的Win32 listview公共控件支持,您可以使用它来设置所选状态,通过将-1作为索引传递,它将应用于所有项。我不希望向恰好位于.NET Listview控件后面的控件发送PInvoking消息(我不想成为一个差劲的开发人员,依赖于未记录的行为,因为当他们将其更改为完全管理的Listview类时)

碰撞 具有SelectNone大小写:

ListView1.SelectedItems.Clear(); 
现在只需选择所有代码即可

ListView1.SelectedItems.Clear();

无论如何,应该为“无选择”执行此操作。

哇,这太旧了D

全选

 listView1.BeginUpdate(); 
 foreach (ListViewItem i in listView1.Items)
 {
     i.Selected = true;
 }
 listView1.EndUpdate();
选择反向

 listView1.BeginUpdate(); 
 foreach (ListViewItem i in listView1.Items)
 {
     i.Selected = !i.Selected;
 }
 listView1.EndUpdate();
BeginUpdate
EndUpdate
用于在更新控件内容时禁用/启用控件重绘。。。我想它会更快地选择,因为它只刷新一次,而不是
listView.Items.Count

 listView1.BeginUpdate(); 
 foreach (ListViewItem i in listView1.Items)
 {
     i.Selected = true;
 }
 listView1.EndUpdate();
 listView1.BeginUpdate(); 
 foreach (ListViewItem i in listView1.Items)
 {
     i.Selected = !i.Selected;
 }
 listView1.EndUpdate();