我在做一个数据库的时候,想鼠标点LiewView的行的时候别的一个控件有相应的改变。代码入下: 
private void listView1_SelectedIndexChanged(object sender, System.EventArgs e) 

ListViewItem newItem; 
newItem=this.listView1.SelectedItems[0]; 
this.NAME_tb.Text = newItem.SubItems[0].Text; 

第一次点的时候还没问题,成功执行,但是点第2下的时候就报错:指定的参数已超出有效值的范围。 
该怎么办。

解决方案 »

  1.   

    你事件选错了,应选ListView_Click事件
      

  2.   

    改一下:private void listView1_SelectedIndexChanged(object sender, System.EventArgs e) 

    if(this.listView1.SelectedItems.length>0){
       ListViewItem newItem; 
       newItem=this.listView1.SelectedItems[0]; 
       this.NAME_tb.Text = newItem.SubItems[0].Text; 
    }
    else{
       this.NAME_tb.Text = "无选中项"; 
    }

      

  3.   

    private void listView1_Click(object sender, EventArgs e)
            {
                ListViewItem lvi = new ListViewItem();
                lvi = listView1.SelectedItems[0];
                MessageBox.Show(lvi.Text);
            }
      

  4.   

    有问题,更正:length 改为 countprivate void listView1_SelectedIndexChanged(object sender, System.EventArgs e) 

    if(this.listView1.SelectedItems.Count>0){
       ListViewItem newItem; 
       newItem=this.listView1.SelectedItems[0]; 
       this.NAME_tb.Text = newItem.SubItems[0].Text; 
    }
    else{
       this.NAME_tb.Text = "无选中项"; 
    }
    }
      

  5.   

    应选ListView_Click事件 然后用listView1.FocusedItem这作为参数试试..