winform窗体中有个ListViwe的列表,列表旁边有按钮,分别是全选,反选,我该如何去实现呢?急。

解决方案 »

  1.   


    private void OnSelectAll_Click(object sender, EventArgs e)
    {
        listView1.Select();
        listView1.BeginUpdate();
        foreach(ListViewItem item in listView1.Items)
        {
            item.Selected = true;
        }
        listView1.EndUpdate();
    }private void OnReverseSelection(object sender, EventArgs e)
    {
        listView1.Select();
        listView1.BeginUpdate();
        foreach(ListViewItem item in listView1.Items)
        {
            item.Selected = !item.Selected;
        }
        listView1.EndUpdate();}
      

  2.   

    //全选 
    foreach (ListViewItem item in this.listView1.Items)
                {
                    item.Checked = true;
                }//返选
     foreach (ListViewItem item in this.listView1.Items)
                {
                    if(item.Checked == true)
                        item.checked=false;
                    else
                       item.checked=true;
                }
      

  3.   


    //全选
    foreach (ListViewItem item in listView1.Items)
    {
        item.Selected = true;
    }
    //反选
    foreach (ListViewItem item in listView1.Items)
    {
        item.Selected = !item.Selected;
    }
      

  4.   


     foreach (ListViewItem lvin this.listView1.Items)
     {
        lv.Checked = true;
        //lv.Checked = false;
     }
      

  5.   

    //全选/全不选 
    foreach (ListViewItem item in listView1.Items)
    {
    item.Checked = true;//改为false表示全不选
    }//反选
    foreach (ListViewItem item in listView1.Items)
    {
    item.Checked = !item.Checked;
    }加前面上
    listView1.BeginUpdate();
    后面加上
    listView1.EndUpdate();
    可以防止过多的时候速度很慢