2014-06-06 13 views
6

Ist es möglich, .Checked == auf checkedlistbox wie in checkbox anzuwenden?C# Checkedlistbox wenn aktiviert

Wenn es in einer Art und Weise, wie mit Kontrollkästchen, um es nicht funktioniert

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

Antwort

9

Was Sie brauchen, ist die Methode GetItemCheckState.

Verwendung wie folgt:

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

} 
-2

Ich bin nicht sicher, ob ich verstehe Ihre Frage, tun Sie, wenn mindestens 1 Artikel im Listenfeld geprüft, um zu prüfen? Wenn dies der Fall könnten Sie tun, dass

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

'Elemente' Strings enthält, so 'item.Checked' nicht – Breeze

2

Probieren Sie etwas wie ...

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

Sie es auf diese Weise verwenden können

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

arbeiten diese in falsche führen könnte Verhalten, wenn mehrere Artikel mit demselben Namen vorhanden sind – Breeze

+1

@Breeze - yes :) – gkb

Verwandte Themen