现在的位置: 首页 > 综合 > 正文

listView1.Items.Add()与 listView1.Items[i].SubItems.Add()区别

2013年03月14日 ⁄ 综合 ⁄ 共 787字 ⁄ 字号 评论关闭

 

listView1.Items是ListViewItem的集合

打开资源管理器,看看windows目录,使用Details方式,

一个ListViewItem就是一行,比如

目录名称,修改时间,类型,大小,这整个一条记录是一个ListViewItem

而listView1.Items[i].SubItems 是ListViewSubItem的集合

比如刚才的目录名称或者修改时间等,对于一个ListViewSubItem,只有Name、Font、Text等为数不多的属性

所以listView1.Items.Add()添加的是一个ListViewItem对象

而listView1.Items[i].SubItems.Add()添加的是一个ListViewSubItem对象

提问者回复:

非常感谢~

追问:

不好意思,还是不是很明白,麻烦能不能在帮我举个形象点的例子:比如刚才的目录名称、修改时间、类型……如果我继续做一个listview.items.add()是添加了一条新纪录,那么我再做一个listview1.items[i].subitems.add(),那么会有什么变化啊?

回答:

我想你不能明白的原因是因为你的面向对象不够好,还没有集合的概念

再打个比方,比如一张表,可以看成是行的集合,然后每一行实际上又是多个单元格的集合,每一个单元格里又可能由多个元素组成

回到你的问题listview.items.add()是添加了一个新行(行里里面没有任何内容),listview1.items[i].subitems.add()(假设这个i就是当前这一行)是给这个新行再加单元格
评价回答:
非常感谢~

其他回答:

关于你提到的listView1.Items.Add这个问题,我以前也遇到过,后来解决了,
建议你去看一下北风网他们的.net课程,他们老师讲的课有解决这方面问题的。参考资料里面有你要的答

抱歉!评论已关闭.