树视图未显示

时间:2015-08-01 15:08:56

标签: treeview c++-cli

我正在尝试为我的应用程序创建一个树视图浏览器,但却陷入了某个地方。

树视图无法显示。

代码:

System::IO::DirectoryInfo^ info = gcnew System::IO::DirectoryInfo(path);
    System::IO::Directory^ dir;
    if (dir->Exists(path))
    {
        try
        {
            array<System::IO::DirectoryInfo^>^ dirs = info->GetDirectories();
            if (dirs->Length > 0)
            {
                for (int i = 0; i < dirs->Length; i++)
                {
                    TreeNode^ node = treeView1->Nodes[0]->Nodes->Add(dirs[i]->Name);
                    node->ImageIndex = 1;
                    for (int j = 0; j < dirs[i]->GetFiles()->Length; j++)
                    {
                        if (dirs[i]->GetFiles()[j]->Exists)
                        {
                            TreeNode^ nodes = treeView1->Nodes[0]->Nodes[node->Index]->Nodes->Add(dirs[i]->GetFiles()[j]->Name);
                            nodes->ImageIndex = 2;
                        }
                    }
                }
            }
        }
        catch (Exception^ e)
        {
            MessageBox::Show(e->Message);
        }

    }

1 个答案:

答案 0 :(得分:0)

您是否使用了splitcontainer并首先使用您的数据填写第一部分?

你是如何初始化新的treeview类的? 示例:

    [ComVisibleAttribute(true)]
    [ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
    [DockingAttribute(DockingBehavior::Ask)]
    public ref class TreeView : public Control

然后你可以实现treeview和imageview。 例如,对于Windows OS,ShGetFolderLocation是拉取文件位置的一种方法。

请记住,您必须填充视图并告诉系统显示它以供您查看。

或者只是转到:this earlier solution for the same issue

跟进nodemouse点击代码或您要查找的任何输入响应,例如展开或关闭,转到链接等。