无法以编程方式展开分配给TreeView的TreeNode
问题描述:
我正在使用C++和.NET 1.1。一旦将这些对象分配给TreeView,我就遇到了以编程方式展开TreeNode对象的问题。当运行在调试模式下面的代码:无法以编程方式展开分配给TreeView的TreeNode
TreeView* myTreeView = new TreeView();
TreeNode* myTreeNode = new TreeNode();
myTreeNode->Expand();
myTreeView->Nodes->Add(myTreeNode);
myTreeNode->Expand();
我可以看到的myTreeNode
的IsExpanded
属性设置为true
做第一Expand()
的时候,但是当节点添加到myTreeView
IsExpanded
设置为false
,和第二个Expand()
完全没有效果。
任何人都可以解释这种行为吗?我想有一个TreeView或类似的设置,但我一直没能找到类似的东西,从MS提供的这个例子代码应该可以正常工作,所以我可能会丢失一些很明显的东西...
答
我建议在调用expand之前添加一个myTreeNode-> Collapse()。这可能是因为节点认为当它不是,因此调用扩展,因为节点认为它已经扩展反正只会被忽略它展开......
TreeView* myTreeView = new TreeView();
TreeNode* myTreeNode = new TreeNode();
myTreeNode->Expand();
myTreeView->Nodes->Add(myTreeNode);
myTreeNode->Collapse();
myTreeNode->Expand();
+0
,但没有运气。 =( – 2011-06-16 07:18:08
我已经在C#和.NET 2中做过很多次了,并确认它在那里完美地工作。也许是一个错误? – leppie 2011-06-15 14:28:22
2011年使用.NET 1.1的原因是什么?!?使用至少2.0 – abatishchev 2011-07-20 14:48:25
不能展开没有孩子的节点:我真的认为这会工作 见http://*.com/questions/8242647/empty-expandable-treenode-in-c-sharp – 2013-09-25 10:55:34