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

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

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

4 ответов


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

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

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

comboBox1.Items[index];

вы должны увидеть метод в элементе управления со списком для 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
}

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

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;

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

сначала в combobox, а затем:

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 лучше и прекраснее.