Ejemplo n.º 1
0
        /// <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();
        }
Ejemplo n.º 2
0
        /// <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());
            }
        }
Ejemplo n.º 3
0
        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()
        }
Ejemplo n.º 4
0
        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(""));
            }
        }
Ejemplo n.º 5
0
 public Cmm1_RtuMath(EnumDeviceName deviceName, EnumControlName controlName, int controlNo)
 {
     this.deviceName_  = deviceName;
     this.controlName_ = controlName;
     this.controlNo_   = controlNo;
 }
Ejemplo n.º 6
0
 public Cmm1_RtuMath(string deviceName, EnumControlName controlName, int controlNo)
 {
     this.deviceName_  = getEnumDeviceName(deviceName);
     this.controlName_ = controlName;
     this.controlNo_   = controlNo;
 }
Ejemplo n.º 7
0
 public Cmm1_RtuMath()
 {
     deviceName_  = EnumDeviceName.NA;
     controlName_ = EnumControlName.NA;
     controlNo_   = 0;
 }