예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            RuntimeLayoutForm form = new RuntimeLayoutForm();
            RuntimeBuilder builder = new RuntimeBuilder(form, "This is a caption");

            builder.AddOrUpdateField(new BoolFormBuilderField("Bool Question") {Order = 3});
            builder.AddOrUpdateField(new StringFormBuilderField("WhoIsIt") {Order = 1});
            builder.AddOrUpdateField(new StringFormBuilderField("Password") {Password = true, Order = 4});
            builder.AddOrUpdateField(new IntFormBuilderField("Age") { Order = 2});
            builder.AddOrUpdateField(new EnumFormBuilderField("Enum", FormBorderStyle.Fixed3D) {Order = 5});
            var field = new StringFormBuilderField("List") {Value = "Two", Order = 6};
            field.AddPermittedValue("One");
            field.AddPermittedValue("Two");
            field.AddPermittedValue("Third");
            builder.AddOrUpdateField(field);

            form.AddButton("PressMe", (s,eh)=>MessageBox.Show("Pressed!"));
            builder.ShowForm();
        }
        public void AddTextParameter(StringFormBuilderField field)
        {
            if (field.PermittedValuesDictionary.Any())
            {
                this.AddListParameter(field);
            }
            else
            {

                this.AddLabelInNewRow(field);

                TextBox textBox = new TextBox
                {
                    Name = field.Name,
                    Text = field.Value,
                    //Dock = DockStyle.Fill,
                    Anchor = AnchorStyles.Left | AnchorStyles.Right,
                    Font = new Font("Arial", 9.75F, FontStyle.Regular, GraphicsUnit.Point, 177),
                    ReadOnly = field.Readonly
                };

                if (field.Password) textBox.PasswordChar = '\u25CF';

                textBox.TextChanged += (sender, args) => field.Value = textBox.Text;

                this.AddControl(textBox);
            }
        }
        private void AddListParameter(StringFormBuilderField field)
        {
            ComboBox comboBox = this.CreateLabelAndComboBox(field);

            foreach (var pair in field.PermittedValuesDictionary)
            {
                var item = pair.Key;
                int i = comboBox.Items.Add(item);

                if (pair.Key != null && Equals(pair.Key, field.Value)) comboBox.SelectedIndex = i;
            }

            comboBox.SelectedValueChanged +=
                (sender, args) => field.Value = (string)comboBox.SelectedItem;

            this.AddControl(comboBox);
        }
예제 #4
0
 public void VisitStringField(StringFormBuilderField field)
 {
     this.form.AddTextParameter(field);
 }