-1

「current_node」の親ノードをツリーから削除できません。これが私が試していることです:私はVSTO用のC#.NETで開発しています

TreeGridNode current_node = myTreeGrid.CurrentNode;
TreeGridNode parent_node = myTreeGrid.CurrentNode.Parent;
// this works
myTreeGrid.Nodes.Remove(current_node);

if (parent_node.Nodes.Count == 0) {
    // it never gets here, it doesn't detect that the lats child was just removed above
    myTreeGrid.Nodes.Remove(parent_node);
}

このカスタム構造を使用する http://blogs.msdn.com/b/markrideout/archive/2006/01/08/510700.aspx

4

1 に答える 1

2

ここでのあなたの問題は、あなたが親current_nodeから削除しようとしているのであってmyTreeGridcurrent_node親から削除しようとしているということだと思います。 myTreeGrid.Nodesへの参照が含まれていないcurrent_nodeため、呼び出しmyTreeGrid.Nodes.Remove(current_node)は基本的に何もしません。

何も削除されないためparent_node.Nodes、への参照が含まれていますcurrent_nodecurrent_nodeから直接削除してみてparent_node.Nodesください。問題はおそらく解決されます。

変化する:

myTreeGrid.Nodes.Remove(current_node);

parent_node.Nodes.Remove(current_node);
于 2012-08-23T17:04:22.340 に答える