.net - 无法以编程方式展开分配给 TreeView 的 TreeNode

标签 .net winforms treeview c++-cli .net-1.1

我正在使用 C++ 和 .NET 1.1。一旦将 TreeNode 对象分配给 TreeView,我就会遇到以编程方式扩展 TreeNode 对象的问题。在 Debug模式下运行以下代码时:

TreeView* myTreeView = new TreeView();
TreeNode* myTreeNode = new TreeNode();
myTreeNode->Expand();
myTreeView->Nodes->Add(myTreeNode);
myTreeNode->Expand();

在执行第一个 Expand() 时,我可以看到 myTreeNodeIsExpanded 属性设置为 true >,但是当节点添加到myTreeView时,IsExpanded设置为false,而第二个Expand()完全没有影响。

谁能解释这种行为?我在想 TreeView 或类似的东西有一个设置,但我找不到类似的东西,并且从 MS 提供的示例代码中这应该工作得很好,所以我可能遗漏了一些非常明显的东西...

最佳答案

我建议在调用展开之前添加一个 myTreeNode->Collapse()。可能是该节点认为它已扩展,但实际上并未扩展,因此调用 expand 将被忽略,因为该节点认为它已经扩展了...

  TreeView* myTreeView = new TreeView();
  TreeNode* myTreeNode = new TreeNode();
  myTreeNode->Expand();
  myTreeView->Nodes->Add(myTreeNode);
  myTreeNode->Collapse();
  myTreeNode->Expand();

关于.net - 无法以编程方式展开分配给 TreeView 的 TreeNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6359241/

相关文章:

c# - 当 GC 调用 Object.Finalize 时,子对象是否仍然存在?

c# - Process.Start - 如何将启动的可执行文件发送到后面 (C#)

wpf - 如何垂直对齐 XAML TreeView HierarchicalDataTemplate 中的项目符号?

c# - Esc键事件不会在winforms中被触发

c# - 具有复制/粘贴功能的只读 DataGridView?

silverlight - 通过 Header 查找 Silverlight TreeViewItem 控件

c# - 如何在 Gtk# TreeView 中管理特殊用途的按键?

.net - 寻找将输出保存为 html 页面的 .net 记录器

.net - 文件有无效值错误,不支持给定路径的格式

c# - 使用相同的 System.Random 算法生成线性伪随机数