/// <summary> /// 一键选择文件夹 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OneKey_Click(object sender, EventArgs e) { //弹出文件夹选择框 FolderBrowserDialog fbd = new FolderBrowserDialog { Description = @"选取Ros/Roi/Roc文件的父层文件夹", ShowNewFolderButton = false }; if (fbd.ShowDialog() == DialogResult.OK || fbd.ShowDialog() == DialogResult.Yes) { ComArgs.GuiUsePath = new GuiUsePath { RosPath = $"{fbd.SelectedPath}/Scripts", RoiPath = $"{fbd.SelectedPath}/UIMaps", RocPath = $"{fbd.SelectedPath}/Config" }; GetAllRosFile getAllRosFile = new GetAllRosFile(ComArgs.GuiUsePath.RosPath); RosTree.Nodes.Add(getAllRosFile.RootNode); RosTree.ExpandAll(); //全展开 CheckTreeView.CheckAllTreeNodes(getAllRosFile.RootNode); //默认全部勾选 } else { MessageBox.Show(@"没有选择测试脚本文件", @"警告"); } }
/// <summary> /// 选择文件 /// ROS/ROC/ROI三类 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SelectFile_Click(object sender, EventArgs e) { ComArgs.RoLog.WriteLog(LogStatus.LInfo, "准备勾选ros/roi/roc文件夹..."); SelectFiles selectFiles = new SelectFiles(); selectFiles.ShowDialog(); //执行完毕后,再更新rostree if (ComArgs.GuiUsePath.RosPath != Empty) { GetAllRosFile getAllRosFile = new GetAllRosFile(ComArgs.GuiUsePath.RosPath); RosTree.Nodes.Add(getAllRosFile.RootNode); RosTree.ExpandAll(); //全展开 CheckTreeView.CheckAllTreeNodes(getAllRosFile.RootNode); //默认全部勾选 } else { MessageBox.Show(@"请选择正确的路径", @"警告"); } }
/// <summary> /// 勾选后的事件处理 /// <para>勾选父节点,子节点全部勾选</para> /// <para>取消时,勾选子节点,父节点取消</para> /// <para>取消时,勾选父节点,子节点全部取消</para> /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RosTree_AfterCheck(object sender, TreeViewEventArgs e) { if (e.Action == TreeViewAction.ByMouse) { if (e.Node.Checked) { //选中节点,选中其子节点 CheckTreeView.SetChildNodeCheckedState(e.Node, true); } else { //取消选中,取消其子节点 CheckTreeView.SetChildNodeCheckedState(e.Node, false); if (e.Node.Parent != null) { //如果存在父节点,则取消对应的父节点 CheckTreeView.SetParentNodeCheckedState(e.Node, false); } } } }