1.ListView中有若干个item,并且checkbox=true;2.我想实现:当我选中item前面的checkbox的时候,同时也让该item被selected;3.现在我是在listView1_ItemChecked事件中处理:if (this.listView1.Items[0].Checked)
{
    this.listView1.Items[0].Selected = true;
}
if (this.listView1.Items[1].Checked)
{
    this.listView1.Items[1].Selected = true;
}
……
用上面的代码出现的问题是:比如item[4]本来就是checked的,然后我现在使item[3].checked,可是并不会使item[3].selected;
if (this.listView1.Items[0].Checked)
{
    this.listView1.Items[0].Selected = true;
}
else if (this.listView1.Items[1].Checked)
{
    this.listView1.Items[1].Selected = true;
}
……
然后换成上面代码的问题:比如item[4]本来就是checked的,然后我现在使item[5].checked,可是并不会使item[5].selected;

解决方案 »

  1.   


    2.我想实现:当我选中item前面的checkbox的时候,同时也让该item被selected;
      

  2.   

    是不是要把MultSelect 属性设为TRUE 啊
      

  3.   

    楼主,如果你想在ListView所选项改变时,进行一些操作,那么应该把代码写在listView1_SelectedIndexChanged()事件中,然后再判断是哪一项被选中:if (this.listView1.Items[0].Checked)
    {
        this.listView1.Items[0].Selected = true;
    }
    if (this.listView1.Items[1].Checked)
    {
        this.listView1.Items[1].Selected = true;
    }
    ……
      

  4.   

    触发事件咯。。应该是 listview 里的一个事件,到网上查下。。
    listview checkbox
    应该找到,感觉应该是ckick事件
      

  5.   


    并且用你的第一个代码,即不要if else
      

  6.   

    1.将MultSelect=true,在listView1_ItemChecked事件中使用我上面写的第一个代码,load后,则所有checked的item都被selected了;2.将MultSelect=true,在listView1_click事件里,和上面一样。
      

  7.   


    建议你看下Selected和checked的区别,我现在是想在item被checked后再selected!!
      

  8.   

    建议你使用checkedlistbox控件,这个控件更符合你的需要!
            private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
            {
                checkedListBoxB.SelectedIndex = e.Index;
                MessageBox.Show(checkedListBox1.SelectedItem.ToString());
            }