2014-06-06 5 views
6

È possibile applicare .Check == a checklistbox come in checkbox?C# Checklistlist se selezionato

Se di farlo in un modo come con casella di controllo non funziona

if(checkedListBox1.Items[2].Checked==true) 
{ 
} 

risposta

9

Quello che vi serve è il metodo GetItemCheckState.

Uso come segue:

if(checkedListBox1.GetItemCheckState(2) == CheckState.Checked) 
{ 

} 
-2

io non sono sicuro di aver capito la tua domanda, vuoi controllare se almeno 1 punto nella casella di riepilogo viene controllato? Se è così si potrebbe fare che

if(checkedListBox1.Items.Any(item=>item.Checked)) 
{ 
} 
+0

'' degli articoli contiene stringhe, in modo da 'item.Checked' non funzionerà – Breeze

2

provare qualcosa di simile ...

checkedListBox1.GetItemChecked(i) 

foreach(int indexChecked in checkedListBox1.CheckedIndices) { 
    // The indexChecked variable contains the index of the item. 
    MessageBox.Show("Index#: " + indexChecked.ToString() + ", is checked. Checked state is:" + 
        checkedListBox1.GetItemCheckState(indexChecked).ToString() + "."); 
} 
6

Si può usare in questo modo

if (checkedListBox1.CheckedItems.Contains("ItemWithIndex2") == true) 
{ 
    MessageBox.Show("Test"); 
} 
+1

ciò potrebbe comportare sbagliato comportamento se ci sono diversi elementi con lo stesso nome – Breeze

+1

@Breeze - sì :) – gkb