chunxiaqiu
2026-03-18 46431fb658701489f8d5de4475b02df728c51f36
LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.cs
@@ -34,7 +34,9 @@
                if (string.IsNullOrEmpty(ClassName) || string.IsNullOrEmpty(IP) || string.IsNullOrEmpty(PORT))
                    return;
                string CommunicatorConnectionString = $"({ClassName}){IP}:{PORT}";
                string DataType = item.Value.CommunicatorConnections.Contains("数据类型") ?
                    item.Value.CommunicatorConnections["数据类型"].ToString() : "String";
                string CommunicatorConnectionString = $"({ClassName}){IP}:{PORT} [{DataType}]";
                UserItem flow = new UserItem(new string[] { "测试", "刷新", "移除", "重命名" });
                //flow.SetDPIScale();
@@ -69,7 +71,9 @@
                if (string.IsNullOrEmpty(ClassName) || string.IsNullOrEmpty(IP) || string.IsNullOrEmpty(PORT))
                    return;
                string CommunicatorConnectionString = $"({ClassName}){IP}:{PORT}";
                string DataType = communicator.CommunicatorConnections.Contains("数据类型") ?
                    communicator.CommunicatorConnections["数据类型"].ToString() : "String";
                string CommunicatorConnectionString = $"({ClassName}){IP}:{PORT} [{DataType}]";
                GlobalVar.dicCommunicators.TryAdd(Name, communicator);
                communicator.CommunicatorName = Name;
@@ -126,8 +130,34 @@
                if (GlobalVar.dicCommunicators.ContainsKey(name))
                {
                    CommunicatorForm cameraForm = new CommunicatorForm(GlobalVar.dicCommunicators[name], name);
                    cameraForm.Show();
                    CommunicatorForm communicatorFForm = new CommunicatorForm(GlobalVar.dicCommunicators[name], name);
                    communicatorFForm.CommunicatorChanged += CommunicatorFForm_CommunicatorChanged;
                    communicatorFForm.Show();
                }
            }
        }
        private void CommunicatorFForm_CommunicatorChanged(BaseCommunicator communicator)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action<BaseCommunicator>(CommunicatorFForm_CommunicatorChanged), communicator);
                return;
            }
            for (int i = 0; i < uiFlowLayoutPanel1.Controls.Count; i++)
            {
                if (uiFlowLayoutPanel1.Controls[i] is UserItem flow && flow.Name == communicator.CommunicatorName)
                {
                    string ClassName = communicator.GetType().Name;
                    string IP = communicator.CommunicatorConnections["地址"].ToString();
                    string PORT = communicator.CommunicatorConnections["端口"].ToString();
                    string DataType = communicator.CommunicatorConnections.Contains("数据类型") ?
                        communicator.CommunicatorConnections["数据类型"].ToString() : "String";
                    flow.Text = $"({ClassName}){IP}:{PORT} [{DataType}]";
                    flow.Refresh();
                    break;
                }
            }
        }
@@ -176,6 +206,16 @@
                if (GlobalVar.dicCommunicators.ContainsKey(oldName))
                    GlobalVar.dicCommunicators.TryRename(oldName, newName);
                foreach (var item in GlobalVar.dicMotionControlData.Keys)
                {
                    foreach (var item1 in GlobalVar.dicMotionControlData[item].Keys)
                    {
                        if (GlobalVar.dicMotionControlData[item][item1].CommunicatorsName.Contains(oldName))
                        {
                            GlobalVar.dicMotionControlData[item][item1].CommunicatorsName = newName;
                        }
                    }
                }
                flow.Refresh();
            }