/// <summary> /// SetDisplayText /// </summary> /// <param name="itemName"></param> /// <param name="value"></param> public void SetDisplayText(string itemName, string value) { if (!string.IsNullOrEmpty(itemName)) { EntityFormCtrl eaf = FormCtrls.FirstOrDefault(t => t.ItemName.Trim() == itemName.Trim()); if (eaf != null) { Control ctrl = FormTool.CreateControl(eaf, FormCtrls) as Control; if (ctrl != null) { ctrl.Text = value; } } } }
/// <summary> /// Load /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ShowPanelEF_Load(object sender, EventArgs e) { if (DesignMode) { return; } try { this.SuspendLayout(); if (!string.IsNullOrEmpty(this.FormLayout)) { FormCtrls = FormTool.Entities(this.FormLayout); } else { if (Formid > 0) { EntityFormDesign vo = null; ProxyFormDesign proxy = new ProxyFormDesign(); proxy.Service.GetForm(Formid, out vo); FormCtrls = FormTool.Entities(vo.Layout); } } #region 用下面代码设定:宽*高 //if (!string.IsNullOrEmpty(eafMain.PanelSize)) //{ // string[] size = eafMain.PanelSize.Split('|'); // if (size.Length == 2) // { // int height = HopeBridge.FrameWork.Utils.Function.Int(size[0]); // if (height > 0) // { // this.Height = height + 8; // } // int width = HopeBridge.FrameWork.Utils.Function.Int(size[1]); // if (width > 0) // { // this.Width = width + 8; // } // } //} #endregion #region Controls int intMaxTop = 0; int intMaxLeft = 0; if (FormCtrls != null) { int diffTableHeight = 0; object obj = null; Control ctrl = null; EntityCtrlPoint point = null; IRuntimeDesignControl ICtrl = null; List <EntityCtrlPoint> lstCtrlPoint = new List <EntityCtrlPoint>(); FormTool.SetParentObject(this, ControlContainer); FormCtrls.Sort(); foreach (EntityFormCtrl node in FormCtrls) { if (!string.IsNullOrEmpty(node.Parent)) { continue; } obj = FormTool.CreateControl(node, FormCtrls); if (obj == null) { continue; } if (obj is Control) { ctrl = obj as Control; ctrl.Name = node.ControlName; ControlContainer.Controls.Add(ctrl); if (ctrl is IRuntimeDesignControl) { if (diffTableHeight > 0 && intMaxTop > node.Top) { node.Top += diffTableHeight; } ICtrl = ctrl as IRuntimeDesignControl; ICtrl.Location = new System.Drawing.Point(node.Left, node.Top); ICtrl.Width = node.Width; ICtrl.Height = node.Height; if (ctrl is IRtfEditor) { } else { ICtrl.Text = node.Text; } ICtrl.ForeColor = node.ForeColor; if (!string.IsNullOrEmpty(node.TextFont)) { ((Control)ctrl).Font = FontSerializationService.Deserialize(node.TextFont); } if (ctrl is ICheckBox && node.Checked == "1") { ctrl.ForeColor = Color.Blue; } if (ctrl is IFormCtrl) { ((Control)ctrl).Tag = node; } } else if (ctrl is ctlTableCase) { node.Top += diffTableHeight; ctrl.Location = new System.Drawing.Point(node.Left, node.Top); diffTableHeight = ctrl.Height - node.Height; node.Width = ctrl.Width; node.Height = ctrl.Height; ctrl.Width = node.Width; ctrl.Height = node.Height; } else { if (diffTableHeight > 0 && intMaxTop > node.Top) { node.Top += diffTableHeight; } ctrl.Location = new System.Drawing.Point(node.Left, node.Top); ctrl.Width = node.Width; ctrl.Height = node.Height; } point = new EntityCtrlPoint(); point.CtrlName = node.ControlName; point.X = node.Left; point.Y = node.Top; lstCtrlPoint.Add(point); intMaxTop = Math.Max(node.Top + node.Height, intMaxTop); intMaxLeft = Math.Max(node.Left + node.Width, intMaxLeft); } } ButtonItemClick(ControlContainer); this.Width = intMaxLeft + 20; this.Height = intMaxTop + 20; FormTool.maxHeight = this.Height; #region 多个表格时,有时需要重整坐标 if (diffTableHeight > 0) { foreach (Control ctrl1 in ControlContainer.Controls) { EntityCtrlPoint point1 = lstCtrlPoint.FirstOrDefault(t => t.CtrlName == ctrl1.Name); ctrl1.Location = new Point(point1.X, point1.Y); } } #endregion } #endregion } finally { this.ResumeLayout(); } }