public Management.Editors.XTagForm GetForm(string Path, Channel chParam, Device dvParam, DataBlock dbParam, Tag tgParam, string classname) { GetIODriver objFunctions = GetIODriver.GetFunctions(); object context = objFunctions.ParseNamespace($@"\AdvancedScada.{Path}.Core.dll", classname); Type t = (Type)context; Management.Editors.XTagForm newObject = (Management.Editors.XTagForm)objFunctions.CreateInstance(t, new object[] { chParam, dvParam, dbParam, tgParam }); newObject.eventTagChanged += (tg, isNew) => { eventTagChanged?.Invoke(tg, isNew); newObject.DialogResult = DialogResult.OK; }; return(newObject); }
public void GetForm(string Path, string classname) { if (tg == null) { switch (Path) { case "LSIS": newObject = new XLSIS.Core.UserEditors.XUserTagForm(ch, dv, db, null); break; case "Modbus": newObject = new XModbus.Core.UserEditors.XUserTagForm(ch, dv, db, null); break; case "Panasonic": newObject = new XPanasonic.Core.UserEditors.XUserTagForm(ch, dv, db, null); break; case "Siemens": newObject = new XSiemens.Core.UserEditors.XUserTagForm(ch, dv, db, null); break; default: break; } } else { switch (Path) { case "LSIS": newObject = new XLSIS.Core.UserEditors.XUserTagForm(ch, dv, db, tg); break; case "Modbus": newObject = new XModbus.Core.UserEditors.XUserTagForm(ch, dv, db, tg); break; case "Panasonic": newObject = new XPanasonic.Core.UserEditors.XUserTagForm(ch, dv, db, tg); break; case "Siemens": newObject = new XSiemens.Core.UserEditors.XUserTagForm(ch, dv, db, tg); break; default: break; } } newObject.eventTagChanged += (tg, isNew) => { eventTagChanged?.Invoke(tg, isNew); DialogResult = DialogResult.OK; }; try { if (newObject != null) { newObject.Dock = DockStyle.Fill; this.Width = newObject.Width + 25; this.Height = newObject.Height + 25; newObject.BringToFront(); newObject.Click += NewObject_Click; Controls.Add(newObject); } } catch { } }