2012-04-15 6 views

risposta

22

Lo si può trovare utilizzando il seguente codice.

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

ottenere l'oggetto in sé, scrivere:

comboBox1.Items[index]; 
0

so la mia soluzione è molto semplice e divertente, ma prima mi alleno ho usato. Importante: DropDownStyle di combobox deve essere "DropDownList"!

In primo luogo nel combobox e poi:

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

funziona per me destra e risolto il mio problema ... Ma il modo (soluzione) da @ st-mnmn è migliore e fine.

5

si dovrebbe vedere un metodo sul controllo casella combinata per FindStringExact(), che cercherà il DisplayMember e restituire l'indice di quell'articolo se trovato. Se non trovato restituirà -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 
} 
+0

Penso FindExactString() funziona sulla proprietà DisplayMember del ComboBox. Penso che la domanda è chiedere come abbinare sulla proprietà ValueMember di un ComboBox. – andyabel

0

Hi Guys il modo migliore se la ricerca di un testo o un valore è

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;