private void 异形ModbusTcpToolStripMenuItem_Click(object sender, EventArgs e) { TreeNode node = treeView1.SelectedNode; if (node.Tag is NodeClass nodeClass) { // 允许添加异形客户端 using (NodeSettings.FormModbusTcpAlien formNode = new NodeSettings.FormModbusTcpAlien(new NodeModbusTcpAline( ))) { if (formNode.ShowDialog( ) == DialogResult.OK) { // 需要先进行判断DTU是否冲突 if (IsDTUExistModbusAlien(formNode.ModbusTcpAline.DTU, node)) { MessageBox.Show("设备添加失败,DTU码重复!"); return; } formNode.ModbusTcpAline.Name = GetUniqueName(node, formNode.ModbusTcpAline.Name); TreeNode nodeNew = new TreeNode(formNode.ModbusTcpAline.Name); nodeNew.ImageKey = "Module_648"; nodeNew.SelectedImageKey = "Module_648"; nodeNew.Tag = formNode.ModbusTcpAline; node.Nodes.Add(nodeNew); node.Expand( ); isNodeSettingsModify = true; } } } }
private void 编辑类别editClassToolStripMenuItem_Click(object sender, EventArgs e) { // 节点被选择的时候 TreeNode node = treeView1.SelectedNode; if (node.ImageKey == "VirtualMachine_16xLG") { MessageBox.Show("无法编辑系统节点!"); return; } if (node.Tag is NodeClass nodeClass) { if (nodeClass.NodeType == NodeClassInfo.NodeClass) { // 编辑了节点 using (NodeSettings.FormNodeClass formNode = new NodeSettings.FormNodeClass(nodeClass)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.SelectedNodeClass.Name; node.Tag = formNode.SelectedNodeClass; isNodeSettingsModify = true; } } } else if (nodeClass.NodeType == NodeClassInfo.AlienServer) { if (node.Tag is AlienNode alienNode) { // 编辑了异形服务器节点信息 using (NodeSettings.FormAlienNode formNode = new NodeSettings.FormAlienNode(alienNode)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.AlienNode.Name; node.Tag = formNode.AlienNode; isNodeSettingsModify = true; } } } } else if (nodeClass.NodeType == NodeClassInfo.ModbusServer) { if (node.Tag is NodeModbusServer serverNode) { // 编辑了异形服务器节点信息 using (NodeSettings.FormModbusServer formNode = new NodeSettings.FormModbusServer(serverNode)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.ModbusServer.Name; node.Tag = formNode.ModbusServer; isNodeSettingsModify = true; } } } } else { if (node.Tag is NodeModbusTcpClient modbusTcpNode) { // 编辑了Modbus-tcp节点 using (NodeSettings.FormModbusTcp formNode = new NodeSettings.FormModbusTcp(modbusTcpNode)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.ModbusTcpNode.Name; node.Tag = formNode.ModbusTcpNode; isNodeSettingsModify = true; } } } else if (node.Tag is NodeModbusTcpAline modbusTcpAline) { // 编辑了Modbus-aline节点 using (NodeSettings.FormModbusTcpAlien formNode = new NodeSettings.FormModbusTcpAlien(modbusTcpAline)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.ModbusTcpAline.Name; node.Tag = formNode.ModbusTcpAline; isNodeSettingsModify = true; } } } else if (node.Tag is DeviceRequest deviceRequest) { // 编辑了Request节点 using (RequestSettings.FormRequest formRequest = new RequestSettings.FormRequest(deviceRequest)) { if (formRequest.ShowDialog( ) == DialogResult.OK) { node.Text = formRequest.DeviceRequest.Name; node.Tag = formRequest.DeviceRequest; isNodeSettingsModify = true; } } } else if (node.Tag is NodeMelsecMc nodeMelsecMc) { // 编辑了三菱的节点数据 using (NodeSettings.FormMelsec3E formNode = new NodeSettings.FormMelsec3E(nodeMelsecMc)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.MelsecMc.Name; node.Tag = formNode.MelsecMc; isNodeSettingsModify = true; } } } else if (node.Tag is NodeOmron nodeOmron) { // 编辑了欧姆龙的节点数据 using (NodeSettings.FormOmron formNode = new NodeSettings.FormOmron(nodeOmron)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.NodeOmron.Name; node.Tag = formNode.NodeOmron; isNodeSettingsModify = true; } } } else if (node.Tag is NodeSiemens nodeSiemens) { // 编辑了欧姆龙的节点数据 using (NodeSettings.FormSiemens formNode = new NodeSettings.FormSiemens(nodeSiemens)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.NodeSiemens.Name; node.Tag = formNode.NodeSiemens; isNodeSettingsModify = true; } } } else if (node.Tag is NodeEmpty nodeEmpty) { // 编辑了欧姆龙的节点数据 using (NodeSettings.FormEmpty formNode = new NodeSettings.FormEmpty(nodeEmpty)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.NodeEmpty.Name; node.Tag = formNode.NodeEmpty; isNodeSettingsModify = true; } } } else if (node.Tag is NodeSimplifyNet nodeSimplify) { // 编辑了欧姆龙的节点数据 using (NodeSettings.FormSimplifyNet formNode = new NodeSettings.FormSimplifyNet(nodeSimplify)) { if (formNode.ShowDialog( ) == DialogResult.OK) { node.Text = formNode.NodeSimplifyNet.Name; node.Tag = formNode.NodeSimplifyNet; isNodeSettingsModify = true; } } } } } }