/// <summary> /// Left——》Middle /// </summary> /// <param name="subproductname"></param> public void AddSubProduct(string subproductname, int LocalIndex, int GlobalIndex) { //if (CheckExit(subproductname)) //{ // throw new Exception("已存在当前名称的产品"); //} Point point = new Point(); if (LastSubModel == null) { point.X = 0; point.Y = 20; } else { point.X = LastSubModel.Location.X + 30; point.Y = LastSubModel.Location.Y + 10; } EnumDeviceName subBusModelType = (EnumDeviceName)Enum.Parse(typeof(EnumDeviceName), subproductname.Substring(0, 6)); LastSubModel = new SubBusModel(point, subBusModelType, LocalIndex, GlobalIndex); LastSubModel.Name = subproductname; LastSubModel.OnModleDelete += UserControl1_OnModleDelete; this.Controls.Add(LastSubModel); LastSubModel.ControlMoveEvent += BusModule_ControlMoveEvent; BusModule_ControlMoveEvent(new object(), new ControlMoveEventArgs("")); LastSubModel.BringToFront(); LastSubModel.Focus(); }
/// <summary> /// Middle——》Left /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void panel_Product_DragDrop(object sender, DragEventArgs e) { Point point = this.PointToClient(new Point(e.X, e.Y)); object info = e.Data.GetData(typeof(string)); List <string> ControlNameList = new List <string>(); foreach (Control it in this.Controls) { if ((it as SubBusModel) != null) { ControlNameList.Add((it as SubBusModel).Name); } } if (info.ToString().Contains("HL")) //子模块 { if (BusModule == null) { MessageBox.Show("Please add a bus first!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } var ExistCount = ControlNameList.Where(c => c.Contains(info.ToString())).Count(); EnumDeviceName subBusModelType = (EnumDeviceName)Enum.Parse(typeof(EnumDeviceName), info.ToString().Substring(0, 6)); SubBusModel SubBusModule = new SubBusModel(point, subBusModelType, ExistCount + 1, ControlNameList.Count + 1); SubBusModule.OnModleDelete += UserControl1_OnModleDelete; this.Controls.Add(SubBusModule); SubBusModule.BringToFront(); SubBusModule.ControlMoveEvent += BusModule_ControlMoveEvent; BusModule_ControlMoveEvent(new object(), new ControlMoveEventArgs("")); OnProductChangedEvent?.Invoke(this, new ModuleAddedArgs() { Module = SubBusModule, IsAdd = true }); } else //总线 { ChangeBus(info.ToString()); } }
public SubBusModel(Point location, EnumDeviceName modelType, int LocalIndex, int GlobalIndex, int Width = 140, int Height = 60) : base(location, Width, Height, Color.LightBlue) { ModuleType = modelType; InitializeComponent(); this.Name = modelType.ToString(); this.LocalIndex = LocalIndex; this.GlobalIndex = GlobalIndex; this.DisplayName = $"{Name}_{LocalIndex}"; //实例化 var ClassName = $"ControlTest.ModuleConfigModle.ModuleGUI_{modelType.ToString()}"; var T = Type.GetType(ClassName); Mcb = T.Assembly.CreateInstance(ClassName) as ModuleGUIBase; //Mcb.Name = modelType.ToString(); Mcb.Name = DisplayName; Mcb.Plug_Sequence = $"{this.GlobalIndex}"; //Mcb.FromString() }
public void ReplaceNewList(string BusName, List <Tuple <string, int, int, ModuleGUIBase> > SubModuleInfoList) { List <SubBusModel> list = new List <SubBusModel>(); foreach (var member in this.Controls) { if (member is SubBusModel) { list.Add(member as SubBusModel); } } foreach (var it in list) { if (it != null) { it.Dispose(); } } if (BusModule != null) { BusModule.Dispose(); BusModule = null; } if (BusModule == null) { Enum.TryParse(BusName, out EnumBusType BusType); BusModule = new BusModel(BusType, new Point(100, this.Height / 2 + 100)); this.Controls.Add(BusModule); BusModule.BringToFront(); BusModule.OnModleDelete += UserControl1_OnModleDelete; BusModule.ControlMoveEvent += BusModule_ControlMoveEvent; BusModule_ControlMoveEvent(new object(), new ControlMoveEventArgs("")); this.BusName = BusName; } LastSubModel = null; foreach (var Info in SubModuleInfoList) { Point point = new Point(); if (LastSubModel == null) { point.X = 0; point.Y = 20; } else { point.X = this.LastSubModel.Location.X + 30; point.Y = this.LastSubModel.Location.Y + 10; } EnumDeviceName subBusModelType = (EnumDeviceName)Enum.Parse(typeof(EnumDeviceName), Info.Item1); LastSubModel = new SubBusModel(point, subBusModelType, Info.Item2, Info.Item3); LastSubModel.InitGcb(Info.Item4); this.Controls.Add(LastSubModel); LastSubModel.BringToFront(); LastSubModel.Focus(); LastSubModel.OnModleDelete += UserControl1_OnModleDelete; LastSubModel.ControlMoveEvent += BusModule_ControlMoveEvent; BusModule_ControlMoveEvent(new object(), new ControlMoveEventArgs("")); } }
public Cmm1_RtuMath(EnumDeviceName deviceName, EnumControlName controlName, int controlNo) { this.deviceName_ = deviceName; this.controlName_ = controlName; this.controlNo_ = controlNo; }
public Cmm1_RtuMath(string deviceName, EnumControlName controlName, int controlNo) { this.deviceName_ = getEnumDeviceName(deviceName); this.controlName_ = controlName; this.controlNo_ = controlNo; }
public Cmm1_RtuMath() { deviceName_ = EnumDeviceName.NA; controlName_ = EnumControlName.NA; controlNo_ = 0; }