NewObjectDefaults(List <ObjectProperty> list)
 {
     InitializeComponent();
     _propertyList = list;
     for (int i = 0; i < list.Count; i++)
     {
         ObjectProperty p   = list[i];
         Label          lbl = new Label();
         lbl.Text = ValueProperty.SplitOnCaps(p.PropertyName);
         TextBox tBox = new TextBox();
         tBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
         tBox.AutoCompleteCustomSource.AddRange(p.ValueList);
         tBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
         tBox.Tag      = p.PropertyName;
         tBox.Width    = 300;
         tBox.TabIndex = i;
         tBox.DataBindings.Add("Text", p, "PropertyValue", false, DataSourceUpdateMode.OnPropertyChanged);
         tableLayoutPanel1.Controls.Add(lbl, 0, i);
         tableLayoutPanel1.Controls.Add(tBox, 1, i);
         if (i == 0)
         {
             ActiveControl = tBox;
         }
     }
 }