2013-05-31 2 views
3

Я хочу получить элементы из checkedListBox в List<>, но без выбора всех/отменить выбор всех (первый флажок) .. не могу понять, как не добавлять первый пункт .. это код:loop through checkedListBox элементы без выбора всего элемента

foreach (string s in checkedListBoxDepts.CheckedItems) 
{ 
     if (checkedListBoxDepts.SelectedItems.IndexOf(s) == 0) 
      continue; 
     list.Add(s); 
} 

тогда я беру вещи и положить в другой список, чтобы избежать ошибок:

foreach (string s in list) 
{ 
    list2.Add(s); 
} 

но все-таки выбрать все загружается ... помочь

+0

показать ур разметку checkedBoxList – tariq

ответ

2

Try:

foreach (var s in checkedListBoxDepts.CheckedItems) 
{ 
     if (checkedListBoxDepts.IndexOf(s) == 0) 
      continue; 
     list.Add(s.ToString()); 
} 
+0

почему напечатанный в каждой итерации не лучше использовать «строка s» в место var s ineach? – tariq

+0

Это не кастинг и неявный ввод текста. Это означает, что компилятор сам определяет тип переменной. – Nair

+0

В домашних условиях этот код не работает, он должен быть таким: checkedListBoxDepts.SelectedItems.IndexOf – themadmax

2
foreach (string s in checkedListBoxDepts.CheckedItems) 
{ 
    if (checkedListBoxDepts.SelectedItems.IndexOf(s) == 0) 
     continue; 
    list.Add(s); 
} 

после этого удалить первый элемент из списка

list.removeat(0); 
+0

просто удалил опцию select all ... – Paradigm