private void skinLabelAdd_Click(object sender, EventArgs e) { try { // if (GlobalUtil.EngineUnconnectioned(this)) { return; } List <CostumeColor> list = (List <CostumeColor>) this.skinComboBox_Color.DataSource; AddCostumeColorComboBoxForm addForm = new AddCostumeColorComboBoxForm(); if (addForm.ShowDialog(this) == DialogResult.OK) { if (list == null) { list = new List <CostumeColor>(); } CostumeColor item = addForm.Result; CostumeColor listItem = list.Find(t => t.Name == item.Name || t.ID == item.ID); if (listItem == null) { InteractResult result = GlobalCache.CostumeColorList_OnChange(item); switch (result.ExeResult) { case ExeResult.Success: skinComboBox_Color.DataSource = null; list.Add(item); skinComboBox_Color.DisplayMember = "Name"; skinComboBox_Color.ValueMember = "ID"; skinComboBox_Color.DataSource = list; skinComboBox_Color.SelectedIndex = list.IndexOf(item); break; case ExeResult.Error: break; default: break; } } else { skinComboBox_Color.SelectedItem = listItem; } } } catch (Exception ex) { GlobalUtil.ShowError(ex); } finally { } }