我有一个填充了我创建的节点的树视图,有几个节点类,都从树节点继承。
当我编辑一个节点(使用 GUI 对话框)时,它可能会更改为不同的类,所以我在该过程中创建一个新节点,并尝试用我的新节点替换所选节点,但这不起作用,该节点保持旧节点,无法弄清楚我做错了什么。
代码:
TreeNodeMission mission = (TreeNodeMission)treeView.SelectedNode;
TreeNodeMission newMission = ChangeMissionDialog(mission);
treeView.SelectedNode = newMission; // doesn't work
也试过删除和添加它,也不起作用
index = treeView.Nodes.IndexOf(treeView.SelectedNode); // index returns -1
treeView.Nodes.Remove(treeView.SelectedNode);
treeView.Nodes.Insert(index, newMission);
我究竟做错了什么?
更新:treeView.SelectedNode 不为空,它是我选择的有效节点。