public void comboBox_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && (sender as ComboBox).DroppedDown == false) { //setup Element DataTemplate dataTemplate = new DataTemplate(); dataTemplate.idProperty = lastId; Output output = new Output(); DataField dataField = new DataField(); dataTemplate.addTemplateElement(output); dataTemplate.addTemplateElement(dataField); lastId++; //Setup control Panel elementContainer = new Panel(); Label elementTitle = new Label(); Label elementValues = new Label(); if ((sender as ComboBox).SelectedItem != null) { string value = (sender as ComboBox).Text; int split = value.IndexOf(':') + 2; elementTitle.Text = value.Substring(split, value.Length - split); } Label label = new Label(); if ((sender as ComboBox).SelectedItem != null) { string value = (sender as ComboBox).SelectedItem.ToString(); int split = value.IndexOf(':') + 2; label.Text = value.Substring(split, value.Length - split); } else { string value = (sender as ComboBox).Text; int split = value.IndexOf(':') + 2; label.Text = value.Substring(split, value.Length - split); } label.AutoSize = true; makeControlMove(label); setActiveControl(label); (sender as ComboBox).DoDragDrop(label, DragDropEffects.All); } }