private void OnRemoveItemFromList(RemovableDropDownControl control)
        {
            List_TL.Controls.Remove(control);
            RemoveItem(_removableDropDownControls.FindIndex(x => x == control));

            _removableDropDownControls.Remove(control);
        }
 public void SetListItemsTexts(string[] texts)
 {
     List_TL.Controls.Clear();
     foreach (var text in texts)
     {
         RemovableDropDownControl newC = new RemovableDropDownControl();
         newC.SetMembers(_members);
         newC.Value        = text;
         newC.Remove      += OnRemoveItemFromList;
         newC.ChangeValue += OnItemValueChanged;
         List_TL.Controls.Add(newC);
         _removableDropDownControls.Add(newC);
     }
 }
        public void AddNewItemToList(string itemName)
        {
            if (!AddItem(itemName))
            {
                return;
            }

            RemovableDropDownControl newC = new RemovableDropDownControl();

            newC.SetMembers(_members);
            newC.Value        = itemName;
            newC.Remove      += OnRemoveItemFromList;
            newC.ChangeValue += OnItemValueChanged;
            List_TL.Controls.Add(newC);
            _removableDropDownControls.Add(newC);
        }
        private void OnItemValueChanged(RemovableDropDownControl control)
        {
            int index = _removableDropDownControls.FindIndex(x => x == control);

            ChangeItem(index, control.Value);
        }