Ejemplo n.º 1
0
 /// <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;
     }
 }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
        /// <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);
        }