现程序 private void listView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
ListView lv=(ListView)sender;
if(e.Button==MouseButtons.Left)
if(e.Clicks==2)
{
if(e.X>lv.Columns[0].Width&&e.X<(lv.Columns[0].Width+lv.Columns[1].Width))
{
ListViewItem lvi= lv.SelectedItems[0];
if(lvi.Checked==true)
lvi.Checked=false;
else
lvi.Checked=true; lvi.SubItems[1].Text="aa";
}
}
}可以做到双击,更改第二列值的问题.但现在的新问题是checkbox总是乱选,而且没规律有时候点第10列的时候,第一列的checkbox倒打上勾了

解决方案 »

  1.   

    不在要MouesDown中写。因为引发MouseDown时,其SelectedItems的值还没有改变。在Click或MouseClick事件中写试试
      

  2.   

    哦~~~我知了,可能是因为,我给lvi.SubItems[1].Text付的值是从另一个listview里传入的,而且,也是通过双击触发这个实践listView1_MouseDown里没有指定是那一个listview,要是能指定是那一个listview就好了
      

  3.   

    listView1_MouseDown 这个一定是listView1啊(object sender)这个是事件的发起者 
    ListView lv=(ListView)sender;//以后的操作是这个发起者啊
    //希望只是简单逻辑错误 A门
      

  4.   

    viena(维也纳nn) ( ) 信誉:100    Blog  2006-11-30 12:59:48  得分: 0  
     
     
       进来看高手~
      
     
      

  5.   

    如果我不通过双击另一个form2中的listview数据给我的form1的listview复值的话,而是通过一个按钮把form2中的listview数据复值给form1中的listview就没有这个问题了娘的,这回麻烦了