Как удалить или скрыть ранее выбранное значение поля со списком из списка, отображаемого под полем со списком в Windows Form?

#c# #winforms

#c# #winforms

Вопрос:

Я просто играл со значением поля со списком и пробовал что-то новое. Я просто хотел знать, как мне следует удалить или скрыть уже выбранное значение поля со списком при следующем использовании этого поля со списком. Я имею в виду, что после того, как я выбрал значение из поля со списком, я не смогу снова увидеть это выбранное значение при следующем нажатии на поле со списком. У меня есть следующие значения в поле со списком A

 List<string> comboList = new List<string>();
        comboList .Add("--Please Select--");
        comboList .Add("ABC");
        comboList .Add("DEF");
        comboList .Add("GHI");
        comboList .Add("JKL");
        comboList .Add("MNO");
        cmbNewComboBox.DataSource = comboList.DeepCopy();
  

если я выберу значение «ABC» из cmbNewComboBox и нажму ok, то я больше не получу это значение в этом окне со списком. т. Е. значениями, которые будут отображаться в окне со списком, будут только «DEF, GHI, JKL, MNO», НО НЕ «ABC».

Заранее спасибо

Ответ №1:

  if(cmbNewComboBox.SelectedIndex != -1)
         comboList.Remove(cb01.SelectedItem.ToString());
  

Комментарии:

1. Тогда вы делаете что-то неправильно. Элемент управления ComboBox предоставляет свойство «Удалить».

2. Есть ли у вас эта справочная система. Коллекции. Универсальный?

Ответ №2:

попробуйте это

 private void combobox1_SelectedValueChanged(object sender, EventArgs e)
{
    int iIndex;
    if (int.tryParse(combobox1.Tag, out iIndex))
    {
        if (iIndex > -1)
            ((List<string>)combobox1.DataSource).RemoveAt(iIndex);
    }
    combobox1.Tag = combobox1.SelectedIndex;
}