当第一次 选中数据时没事 第二次选数据时就会出现错误 请问是怎么回事?

解决方案 »

  1.   


     private void listView4_SelectedIndexChanged(object sender, EventArgs e)
            {          
                txtusername.Text =((ListView) sender).SelectedItems[0].Text;
                txtpwd.Text = ((ListView)sender).SelectedItems[0].SubItems[1].Text;
            }
    我截图传不上来 只能复制代码了 这是个listview向textbox传值的代码 大家看看怎么改 谢了啊!
    listview跟txtusername和txtpwd在同一个窗体上 第一次选中listview的数据修改时没事 当第二次选中值时就会出现这个
    " 未处理ArgumentOutOfRangeException 
    InvalidArgument=“0”的值对于“index”无效。
    参数名: index"
      

  2.   

    txtusername.Text =((ListView) sender).SelectedItems[0].Text;
      txtpwd.Text = ((ListView)sender).SelectedItems[0].SubItems[1].Text;//索引越界啊!
    为什么上面不是txtusername.Text =((ListView) sender).SelectedItems[0].SubItems[0].Text;
      

  3.   

    改成这个txtusername.Text =((ListView) sender).SelectedItems[0].SubItems[0].Text;
    还是出现同样的错误啊
      

  4.   

    private void listView1_SelectedIndexChanged(object sender, EventArgs e)
      {
      if (this.listView1.selectedItems.Count>0)
      {listView1.SelectedItems[0].Text  
    listView1.SelectedItems[0].SubItems[1].Text  }
      }
      

  5.   

    修改是能修改 不过修改之后listview里面的值马上不会改变 等到第二次打开窗体之后里面的值才会显示的是修改后的 我写这个listview.Refresh(); 也不会马上改变的 怎么办啊?
      

  6.   

    这个到底怎么弄才能让listview的值马上改变呢?
      

  7.   

    重新加载一次数据或者在修改保存时直接赋值给修改那一行;listView1.SelectedItems[0].SubItems[0].Text=textbox1.text;
    ....