/// <summary> /// Change field object by given name /// </summary> /// <param name="Name">Name of field</param> /// <param name="Field">New field object</param> public void setFieldByName(string Name, APGFieldHelper Field) { if (_Fields.ContainsKey(Name)) { _Fields[Name] = Field; } }
/// <summary> /// Create edit box using FieldType property /// </summary> /// <param name="Field">Field object</param> private void CreateEditControl(APGFieldHelper Field) { switch (Field.EditType) { case APGFieldTypes.BasicEditField: TextBox txt = new TextBox(); txt.Dock = DockStyle.Fill; txt.Text = string.Format("{0}", Field.Value); txt.Name = "EditBox"; txt.MaxLength = Field.MaxChars; Field.getFieldContainer().Controls.Add(txt); break; case APGFieldTypes.CustomField: DrawCustomField(Field); break; case APGFieldTypes.TextField: Label lbl = new Label(); lbl.Text = string.Format("{0}", Field.Value); lbl.Name = "EditBox"; lbl.AutoSize = false; lbl.Height = 25; lbl.Dock = DockStyle.Fill; lbl.TextAlign = ContentAlignment.MiddleLeft; Field.getFieldContainer().Controls.Add(lbl); break; case APGFieldTypes.EditBoxButtonField: Panel pnl = new Panel(); pnl.Name = "EditBox"; pnl.Dock = DockStyle.Fill; txt = new TextBox(); txt.Dock = DockStyle.Fill; txt.Text = string.Format("{0}", Field.Value); txt.Name = "EditBox"; txt.MaxLength = Field.MaxChars; pnl.Controls.Add(txt); Button btn = new Button(); btn.Height = txt.Height; btn.Width = 25; btn.Name = "EditButton"; btn.Dock = DockStyle.Right; (new ToolTip()).SetToolTip(btn, Field.Tooltip); pnl.Controls.Add(btn); Field.getFieldContainer().Controls.Add(pnl); break; } }
/// <summary> /// Create field control /// </summary> /// <param name="Field">Field object</param> private Panel CreateField(APGFieldHelper Field) { Panel fldPanel = new Panel(); fldPanel.Dock = DockStyle.Top; //fldPanel.BorderStyle = BorderStyle.Fixed3D; Field.LabelPosition = UseDefaultSettings ? DefaultFieldLabelPosition : Field.LabelPosition; fldPanel.Margin = new Padding(0, 0, 0, 5); fldPanel.ControlAdded += (s, e) => { if (e.Control.Name != "LabelBox") { e.Control.Name = "EditBox"; if (Field.LabelPosition == APGFieldsLabelPosition.Left || Field.LabelPosition == APGFieldsLabelPosition.Right || Field.LabelPosition == APGFieldsLabelPosition.Hide) { fldPanel.Height = Field.EditType == APGFieldTypes.TextField?25: e.Control.Height + 10; } else if (Field.LabelPosition == APGFieldsLabelPosition.Above || Field.LabelPosition == APGFieldsLabelPosition.Bottom) { fldPanel.Height = Field.EditType == APGFieldTypes.TextField ? 50:(e.Control.Height * 2) + 10; } } e.Control.MouseClick += (ss, ee) => { lblInfo.Text = Field.Tooltip; }; }; Field.setFieldContainer(fldPanel); fldPanel.Name = Field.Name; CreateEditControl(Field); fldPanel.Controls.Add(Field.GetLabel()); fldPanel.Tag = Field; return(fldPanel); }