C#中如何获得listview的当前index。错误:InvalidArgument=“14”的值对于“index”无效。
publicvoidListView1SelectedIndexChanged(objectsender,EventArgse){//num为全局变量intnum=lis...
public void ListView1SelectedIndexChanged(object sender, EventArgs e)
{
//num为全局变量
int num = listView1.Items.IndexOf(listView1.SelectedItems[0]);
int SelectOne=0;
if (listView1.SelectedItems[num].Index < 0)
SelectOne = 1;
else
SelectOne = listView1.SelectedItems[num].Index;
。。。。。。。。。。。。。。。
} 展开
{
//num为全局变量
int num = listView1.Items.IndexOf(listView1.SelectedItems[0]);
int SelectOne=0;
if (listView1.SelectedItems[num].Index < 0)
SelectOne = 1;
else
SelectOne = listView1.SelectedItems[num].Index;
。。。。。。。。。。。。。。。
} 展开
3个回答
展开全部
SelectedItems 是选中的行的组合,它等于小于listview的所有行,
而 .Items 是listview的所有行,两个代表不同的东西
int num = listView1.Items.IndexOf(listView1.SelectedItems[0]);
----这句话确认了选中行的第一行在整个listview中的行数
listView1.SelectedItems[num].Index
---这句话却是在所有选中行中寻找选中行所在的列,
所以报错
而 .Items 是listview的所有行,两个代表不同的东西
int num = listView1.Items.IndexOf(listView1.SelectedItems[0]);
----这句话确认了选中行的第一行在整个listview中的行数
listView1.SelectedItems[num].Index
---这句话却是在所有选中行中寻找选中行所在的列,
所以报错
展开全部
因为ListView是可以被多选的,所以选中的行的索引号都可以使用this.listView1.SelectedIndices
来得到,
比如第一个选中的Item的索引号为:this.listView1.SelectedIndices[0];
第i个选中的Item索引号为:this.listView1.SelectedIndices[i];
来得到,
比如第一个选中的Item的索引号为:this.listView1.SelectedIndices[0];
第i个选中的Item索引号为:this.listView1.SelectedIndices[i];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
num是在listView1.Items的索引,你用到listView1.SelectedItems这里面,肯定超出索引了,所以“index”无效。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询