public InputTextBoxField Clone()
        {
            InputTextBoxField clone = (InputTextBoxField)this.MemberwiseClone();

            base.AssignMembers(clone);
            return(clone);
        }
Example #2
0
        private List<Control> GetControls(InputTextBoxField field, Size canvasSize)
        {
            TextBoxBase textBoxBase;
            List<Control> controls = new List<Control>();

            if (field is IPatternable)
            {
                textBoxBase = new MaskedTextBox();
                ((MaskedTextBox)textBoxBase).HidePromptOnLeave = true;
                textBoxBase.Text = string.Empty;
                textBoxBase.BorderStyle = borderStyle;
                ((MaskedTextBox)textBoxBase).Mask = AppData.Instance.DataPatternsDataTable.GetMaskByPattern(((IPatternable)field).Pattern);

                if (field is PhoneNumberField)
                {
                    if(((MaskedTextBox)textBoxBase).Mask == string.Empty)
                    {
                        ((MaskedTextBox)textBoxBase).Mask = "CCCCCCCCCCCCCCCCCCCC";
                    }
                }

                SetControlProperties(textBoxBase, field, canvasSize);
                Label prompt = GetPrompt(textBoxBase, field, canvasSize);
                prompt.Name = field.Name;
                controls.Add(prompt);
            }
            else if(field is MultilineTextField)
            {
                textBoxBase = new RichTextBox();
                textBoxBase.BorderStyle = borderStyle;
                textBoxBase.Multiline = true;

                SetControlProperties(textBoxBase, field, canvasSize);
                TransparentLabel prompt = GetPrompt(textBoxBase, field, canvasSize);
                prompt.Name = field.Name;
                controls.Add(prompt);
            }
            else if (field is DateTimeField)
            {
                textBoxBase = new TextBox();
                textBoxBase.BorderStyle = borderStyle;

                SetControlProperties(textBoxBase, field, canvasSize);
                TransparentLabel prompt = GetPrompt(textBoxBase, field, canvasSize);
                prompt.Name = field.Name;

                controls.Add(prompt);
            }
            else
            {
                textBoxBase = new TextBox();
                textBoxBase.BorderStyle = borderStyle;
                textBoxBase.MaxLength = ((SingleLineTextField)field).MaxLength;

                SetControlProperties(textBoxBase, field, canvasSize);
                TransparentLabel prompt = GetPrompt(textBoxBase, field, canvasSize);
                prompt.Name = field.Name;
                controls.Add(prompt);
            }

            controls.Add(textBoxBase);

            if (!fieldControls.ContainsKey(field))
            {
                fieldControls.Add(field, controls);
            }
            else
            {
                fieldControls.Remove(field);
                fieldControls.Add(field, controls);
            }
            return controls;
        }