2
생성 된 노드가있는 populated treeView가 있습니다. 여러 노드 클래스가 있으며, 모두 treeNode에서 상속됩니다.TreeView의 선택된 노드를 새로 생성 된 노드로 대체하는 방법
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가 null이 아니며 유효한 노드를 선택했습니다.
당신은 확인 SelectedNode가 null이 아닙니까? –
'index'가'-1'을 반환하면, 노드가 선택되지 않았 음을 나타냅니다. 그러므로 관련된 모든 코드는 작동하지 않습니다. –
어떤 종류의 응용 프로그램입니까? WPF 또는 Winforms 또는 다른 뭔가? WPF 인 경우 SelectedNode에 알리는 중입니까? –