c#我可以将List <channeltreeitem>添加到treeview节点吗?

时间:2017-02-13 07:07:29

标签: c# treeview

    private void show_info()
    {
        List<ChannelTreeItem> result = new List<ChannelTreeItem>();
        try
        {

            result = QueryUtils.GetChannelTree(TopQuery.GetChannelList().Values,TopQuery.GetClientList().Values);
            treeview1.nodes.add(result);
        }
        catch
        {
            MessageBox.Show("Retry later");
        }
    }

ErrorMsg:无法将ChannelTreeItem转换为字符串

我可以将此列表添加到树视图节点吗?

1 个答案:

答案 0 :(得分:0)

如果您查看Nodes.Add(对于TreeView)的方法的定义,您将看到只能添加TreeNode或string类型的对象:

所以你需要进行转换。使用ToString(),或创建TreeNode对象并将其添加到树视图

从你的代码:

List<ChannelTreeItem> result = new List<ChannelTreeItem>();

您的结果变量是ChannelTreeItems的类型列表。我不清楚你想要放在树节点中的是什么。您是否希望每个节点都包含ChannelTreeItems列表,或者您是否希望每个节点有一个ChannelTreeItem?

要执行后者,您需要遍历列表(for或foreach循环),然后将每个项目字符串添加到新节点,然后可以将其添加到树视图中。

https://msdn.microsoft.com/en-us/library/system.windows.forms.treenodecollection.add(v=vs.110).aspx