ListView选中取值问题
我在选中ListView值的时候一个很奇怪的问题
private void lv_DoubleClick(object sender, EventArgs e)
{
string str1 = lv.SelectedItems[0].SubItems[2].Text.Trim(); //这个能正常读值 string str2= lv.SelectedItems[0].SubItems[3].Text.Trim(); //这个也能正常读值 string str3 = lv.SelectedItems[0].SubItems[9].Text.Trim(); //报InvalidArgument=“0”的值对于“index”无效。 //注我的ListView里面有10多列
}
这个什么回事??
------解决方案--------------------if(listView1.SelectedItems.Count > 0)
{
for (i = 0; i < 15; i++)
{
A[i] = listView1.SelectedItems[0].SubItems[i].Text;
}
}
先判断
------解决方案--------------------if(listView1.SelectedItems.Count > 0)
{
for (i = 0; i < listView1.SelectedItems.Count ; i++)
{
str = listView1.SelectedItems[0].SubItems[i].Text;
}
}
------解决方案--------------------首先,你的ListView里边有没有值呢?
是不是索引超出范围了?
当你取索引为9的值时,你的ListView里没有这么多值,所以就是null了,你在试试吧,把每个值挨个打印出来看一下
------解决方案--------------------