/// <summary> /// 选中检测项树双击事件,显示选中节点的误差控件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void selectedFuncTreeView_MouseDoubleClick(object sender, MouseEventArgs e) { TreeNode node = selectedFuncTreeView.SelectedNode; if (IsRoot(node)) { return; } SaveLastState(); RemoveErrorControl(); int index = node.Index; TestTargetType nodeType = (TestTargetType)Enum.Parse(typeof(TestTargetType), node.Parent.Name); if (nodeType == TestTargetType.PowerSource) { index = node.Index + selectedMeterDetect.Count; } var parameterControl = ProfileManager.Instance.GetParameterControl(node.Text); parameterControl.Header = node.Text; parameterControl.ID = SelectedTestItems[index].ID; parameterControl.Parameter = SelectedTestItems[index].Parameter; parameterControl.Location = new System.Drawing.Point(3, 30); this.parameterPanel.Controls.Add(parameterControl as UserControl); }
/// <summary> /// 删除按钮,在选中功能树中,删除选中的节点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void deleteButton_Click(object sender, EventArgs e) { TreeNode node = selectedFuncTreeView.SelectedNode; if (IsRoot(node)) { return; } TestTargetType nodeType = (TestTargetType)Enum.Parse(typeof(TestTargetType), node.Parent.Name); if (nodeType == TestTargetType.Meter) { selectedMeterDetect.RemoveAt(node.Index); //先删除list中元素 TestItemID--; } else if (nodeType == TestTargetType.PowerSource) { selectedPowerDetect.RemoveAt(node.Index); TestItemID--; } this.selectedFuncTreeView.Nodes.Remove(this.selectedFuncTreeView.SelectedNode); this.selectedFuncTreeView.HideSelection = false; this.selectedFuncTreeView.ExpandAll(); RemoveErrorControl(); }
/// <summary> /// 添加检测项到TreeView中 /// </summary> private void AddTestItemsToTreeView() { TreeNode newNode = optionalFuncTreeView.SelectedNode; if (IsRoot(newNode)) { return; } InitSelectedFuncTreeViewNodes(); TestTargetType nodeType = (TestTargetType)Enum.Parse(typeof(TestTargetType), newNode.Parent.Name); if (nodeType == TestTargetType.Meter) //添加到对应list { TestItemID++; TestItemInfo itemInfo = new TestItemInfo(); itemInfo.Name = newNode.Text; itemInfo.ID = TestItemID; itemInfo.TestTargetType = TestTargetType.Meter; itemInfo.Parameter = ProfileManager.Instance.GetCommandParameter(newNode.Text); SelectedMeterDetect.Add(itemInfo); } else if (nodeType == TestTargetType.PowerSource) { TestItemID++; TestItemInfo itemInfo = new TestItemInfo(); itemInfo.Name = newNode.Text; itemInfo.ID = TestItemID; itemInfo.TestTargetType = TestTargetType.PowerSource; itemInfo.Parameter = ProfileManager.Instance.GetCommandParameter(newNode.Text); SelectedPowerDetect.Add(itemInfo); } TreeNode tn = selectedFuncTreeView.Nodes[0]; foreach (TestItemInfo item in SelectedMeterDetect) { tn.Nodes.Add(item.Name); } tn = selectedFuncTreeView.Nodes[1]; foreach (TestItemInfo item in SelectedPowerDetect) { tn.Nodes.Add(item.Name); } selectedFuncTreeView.ExpandAll(); }