C# 使用ObjectListView控件中的treeview列表

C# 使用ObjectListView控件中的treeview列表,c#,objectlistview,C#,Objectlistview,我已经从这个网站下载了objectlistview 我正在使用objectlistview项目中的treelistview控件。我正在使用treelistview双击事件,并试图从中捕获所选项目文本以及所选项目的直接父项目文本 我可以像这样从双击事件中成功捕获所选项目文本 private void tvView_DoubleClick(object sender, EventArgs e) { ListView lv = (ListView)sender; MessageBox.

我已经从这个网站下载了objectlistview

我正在使用objectlistview项目中的treelistview控件。我正在使用
treelistview双击事件
,并试图从中捕获所选项目文本以及所选项目的直接父项目文本

我可以像这样从双击事件中成功捕获所选项目文本

private void tvView_DoubleClick(object sender, EventArgs e)
{
    ListView lv = (ListView)sender;
    MessageBox.Show(tvView.FocusedItem.SubItems[1].Text);
}
现在,请帮助我捕获所选项目的直接父项目文本。这张照片有助于其他人理解我想要捕捉的东西。


只需查看我单击要立即捕获的项目或行的直接父数据2的图像即可。如果有人使用treelistview控件,请指导我。感谢使用ObjectListView/TreeListView,您不应该使用基础ListView本身或ListViewItem对象

与ObjectListView相比,使用TreeListView有点麻烦

示例(忽略双击要求):

因为您没有提到模型,所以我假设在树层次结构中有两个不同的模型对象(MyChildModelObject和MyParentModelObject)

private void tvView_SelectedIndexChanged(object sender, EventArgs e) {
    // cast your TreeView to ObjectListView to access the selected Object
    ObjectListView olv = sender as ObjectListView;

    // get the selected child (you may want to check the type and if it really was a child that was selected here)
    MyChildModelObject child = olv.SelectedObject as MyChildModelObject;
    MyParentModelObject parent = _tvView.GetParent(child);

    // ...
}