【已解决】给TreeView添加TreeNode节点后但是名字没显示出来

【背景】

用C#给TreeView控件添加TreeNode节点。

但是用代码:

            foreach (crifanLibAws.awsBrowseNode mainBrowserNode in gMainBrowserNodeList)
            {
                TreeNode rootTreeNode = new TreeNode();
                rootTreeNode.Name = mainBrowserNode.Name;
                rootTreeNode.Tag = mainBrowserNode;
                trvCategoryTree.Nodes.Add(rootTreeNode);
                //initSingleRootBrowseNode(mainBrowserNode.Name, rootTreeNode);
            }

结果显示出来的是空的,名字没显示出来:

treenode added name not show

【折腾过程】

1.后来还是参考之前自己在:

http://code.google.com/p/insertskydrivefiles/source/browse/trunk/InsertSkydriveFiles/skydrive.cs

中的代码:

                int picIdx = getPicIdx(rootItem.iconType, rootItem.extension);
                TreeNode rootNode = new TreeNode(rootItem.fullName, picIdx, picIdx);
                rootNode.Tag = rootItem;

                trvSkydrive.Nodes.Add(rootNode);
                trvSkydrive.SelectedNode = rootNode;

然后现在看到好像是TreeNode的Text没有设置。

2.所以去添加相关代码:

            foreach (crifanLibAws.awsBrowseNode mainBrowserNode in gMainBrowserNodeList)
            {
                TreeNode rootTreeNode = new TreeNode();
                //rootTreeNode.Name = mainBrowserNode.Name;
                rootTreeNode.Text = mainBrowserNode.Name;
                rootTreeNode.Tag = mainBrowserNode;
                trvCategoryTree.Nodes.Add(rootTreeNode);
                //initSingleRootBrowseNode(mainBrowserNode.Name, rootTreeNode);
            }

结果就可以正常显示出TreeNode的名字了:

name of treenode can show

【总结】

TreeNode加入到TreeView但是不显示名字,是因为加入的TreeNode没有设置Text

(虽然设置了TreeNode的Name,但是实际上用于显示的是Text而不是Name)

所以,在把TreeNode加入TreeView之前,设置好对应的Text即可正常显示。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量