C# 简单的一段代码?

来源:百度知道 编辑:UC知道 时间:2024/05/26 03:46:13
//单击组件时把ListView框中的赋值给文本框;
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
string id = listView1.SelectedItems[0].Text;
string name = listView1.SelectedItems[0].SubItems[1].Text;

txtID.Text = id;
txtName.Text=name;

}

报错如下:

InvalidArgument=“0”的值对于“index”无效。
参数名: index

Listview 表中有 2 列. 有7 行(项) 为什么只能点击一列.点击两列就报错.!

请问是什么原因.?

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
if(listView1.SelectedItems.Count > 0)
{
string id = listView1.SelectedItems[0].Text;
string name = listView1.SelectedItems[0].SubItems[1].Text;

txtID.Text = id;
txtName.Text=name;
}
else
{
return;
}

}

InvalidArgument=“0”的值对于“index”无效。

检查:listView1.SelectedItems 的Count 值是不是大于0

因为默认没有选中的话,SelectedItems的Count应该是空的,索引取值定然报运行时错误。

其实上面说的都对,主要是SelectedItems的Count是否为空

如果为空就会报错,不为空则会正常显示。