加ItemChecked事件和SelectedIndexChanged事件,
全清,然后按照选择的Index重新设置选中状态

解决方案 »

  1.   

    我该如何获取 checkbox 的集合呢?
      

  2.   


    主要问题是  多个checkbox里面可以多选, 我连续选中两个checkbox我无法判断 到底是哪个checkbox是后选择的啊。
      

  3.   


    主要问题是  多个checkbox里面可以多选, 我连续选中两个checkbox我无法判断 到底是哪个checkbox是后选择的啊。利用event的参数不就行了private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (listView1.SelectedIndices.Count == 0)
                {
                    return;
                }            foreach (ListViewItem item in listView1.CheckedItems)
                {
                    if (item.Index != listView1.SelectedIndices[0])
                    {
                        item.Checked = false;
                    }
                }            listView1.SelectedItems[0].Checked = true;
            }        private void listView1_ItemChecked(object sender, ItemCheckedEventArgs e)
            {
                if (!e.Item.Checked)
                {
                    return;
                }            foreach (ListViewItem item in listView1.CheckedItems)
                {
                    if (!item.Equals(e.Item))
                    {
                        item.Checked = false;
                    }
                }
                
            }