Подтвердить что ты не робот

Как найти элемент по значению в поле со списком в С#?

В С# у меня есть переменная, a, типа string.

Как find item по значению a в combobox (я хочу найти элемент со значением, не отображающим текст со списком).

4b9b3361

Ответ 1

Вы можете найти его, используя следующий код.

int index = comboBox1.Items.IndexOf(a);

Чтобы получить элемент, напишите:

comboBox1.Items[index];

Ответ 2

Вы должны увидеть метод в элементе управления со списком для FindStringExact(), который будет искать displaymember и возвращать индекс этого элемента, если он найден. Если не найдено, будет возвращено -1.

//to select the item if found: 
mycombobox.SelectedIndex = mycombobox.FindStringExact("Combo"); 

//to test if the item exists: 
int i = mycombobox.FindStringExact("Combo"); 
if(i >= 0)
{
  //exists
}

Ответ 3

Я знаю, что мое решение очень простое и забавное, но прежде чем я тренируюсь, я использовал его. Важно: DropDownStyle из combobox должен быть "DropDownList"!

Сначала в поле со списком, а затем:

bool foundit = false;
String mystr = "item_1";
mycombobox.Text = mystr;
if (mycombobox.SelectedText == mystr) // Or using mycombobox.Text
    foundit = true;
else foundit = false;

Он работает для меня правильно и разрешил мою проблему... Но путь (решение) от @st-mnmn лучше и точнее.

Ответ 4

Привет, ребята, лучший способ, если поиск текста или значения

int Selected;    
int count = ComboBox1.Items.Count;
    for (int i = 0; (i<= (count - 1)); i++) 
     {        
         ComboBox1.SelectedIndex = i;
        if ((string)(ComboBox1.SelectedValue) == "SearchValue") 
        {
            Selected = i;
        }

    }

    ComboBox1.SelectedIndex = Selected;