ObjectListView:以编程方式选择子项

时间:2011-11-10 17:34:22

标签: c# .net winforms objectlistview

如何以编程方式选择ObjectListView的子项目?

SelectObject()SelectItem()仅适用于根项目,而不适用于子项目。

2 个答案:

答案 0 :(得分:2)

我解决了这个问题。它对任何有类似问题的人都有用。为此,我需要通过下一步更改控制源代码:

TreeModel课程中的TreeListView媒体资源的访问权限类型从protected更改为public。在此之后,我有权操纵Branch对象的TreeListView个对象。例如,要选择根元素的任何子项,我写下一个代码:

var branch = tlvMain.TreeModel.GetBranch(tlvMain.SelectedObject);
var children = branch.Children.Cast<SecurityObject>().ToList();
tlvMain.SelectObject(children.SingleOrDefault(p=>p.Id == soft.Id));

答案 1 :(得分:2)

ObjectListView中称为子项的东西实际上是列中显示的字符串和图像。

如果您确实想使用ObjectListView,那么选择子项目的最直接方式是

objectListView1.Items[index].SubItems[index] 

如果您使用TreeListView,那么您应该使用您已经找到的方法。 虽然我建议选择并更改源代码。