private bool SelectTask_DFS(Model.Task task, TreeNodeCollection CurNodes, TreeNode ParentNode, bool expandDirectChild) { for (var i = 0; i < CurNodes.Count; i++) { if ((task.id == -1 && CurNodes[i].Tag == null) || (CurNodes[i].Tag != null && (CurNodes[i].Tag as Model.Task).id == task.id)) { if (expandDirectChild && CurNodes[i].Nodes.Count > 0) { treeView_Task_Dir.SelectedNode = CurNodes[i].Nodes[0]; CurNodes[i].Expand(); } else { treeView_Task_Dir.SelectedNode = CurNodes[i]; if (ParentNode != null) { ParentNode.Expand(); } } treeView_Task_Dir.Select(); return(true); } if (SelectTask_DFS(task, CurNodes[i].Nodes, CurNodes[i], expandDirectChild)) { return(true); } } return(false); }
private bool SelectTask(Model.Task task, bool expandDirectChild = false) { if (task != null) { return(SelectTask_DFS(task, treeView_Task_Dir.Nodes, null, expandDirectChild)); } return(false); }