我正在尝试检索 ListView SubItem
.Text
属性。
我的ListView有两列:ID和名称。我想访问特定 ID 的名称并将其存储在变量中:
string nameValue = listView1.Items[0].SubItems[0].Text;
上面的代码应该查看列表视图中的第一个项目(索引零),然后获取第一个子项目的文本。遗憾的是,它使用
Item.Text
而不是 SubItem.Text
,因此它存储“ID”列值而不是“Name”列值。
我哪里出错了?我尝试过使用不同的 SubItems 索引值(出现明显的“OurOfRange 异常”或尝试类似
SubItems.Item[0]
的内容超过 SubItems[0]
但它也不起作用。
啊是的,我记得第一次就被这个抓住了!
SubItems
数组实际上包含索引[0]中包含文本的所有元素。
因此,您只需将子索引加 1 即可获得您期望的值。理想情况下,您还应该添加空检查以确保并避免异常。
string nameValue = listView1.Items[0].SubItems[1].Text;