Практическое руководство. Определение отмеченных элементов в элементе управления CheckedListBox в Windows Forms
При представлении данных в формах Windows CheckedListBox элемента управления, вы можете либо прохода по коллекции хранятся в CheckedItems свойство или Пройдите по списку с помощью GetItemChecked метод, чтобы определить, какие элементы установлены. GetItemChecked Метод принимает номер элемента в качестве аргумента и возвращает true
или false
. Вопреки ожиданиям SelectedItems и SelectedIndices свойства не определяют элементы, которые проверяются; они определяют, какие элементы будут выделены.
Чтобы определить, какие элементы в элементе управления CheckedListBox
Итерации по CheckedItems коллекции, начиная с 0, так как коллекции (с нуля). Обратите внимание на то, что этот метод выдаст номер элемента в список помеченных элементов, а не в полном списке. Если первый элемент в списке не проверяется, и второй элемент выделен, приведенный ниже код будет отображать текст, например «отмеченного элемента 1 = MyListItem2».
' Determine if there are any items checked. If CheckedListBox1.CheckedItems.Count <> 0 Then ' If so, loop through all checked items and print results. Dim x As Integer Dim s As String = "" For x = 0 To CheckedListBox1.CheckedItems.Count - 1 s = s & "Checked Item " & (x + 1).ToString & " = " & CheckedListBox1.CheckedItems(x).ToString & ControlChars.CrLf Next x MessageBox.Show(s) End If
// Determine if there are any items checked. if(checkedListBox1.CheckedItems.Count != 0) { // If so, loop through all checked items and print results. string s = ""; for(int x = 0; x < checkedListBox1.CheckedItems.Count ; x++) { s = s + "Checked Item " + (x+1).ToString() + " = " + checkedListBox1.CheckedItems[x].ToString() + "\n"; } MessageBox.Show(s); }
// Determine if there are any items checked. if(checkedListBox1->CheckedItems->Count != 0) { // If so, loop through all checked items and print results. String ^ s = ""; for(int x = 0; x < checkedListBox1->CheckedItems->Count; x++) { s = String::Concat(s, "Checked Item ", (x+1).ToString(), " = ", checkedListBox1->CheckedItems[x]->ToString(), "\n"); } MessageBox::Show(s); }
- или
Пошаговое выполнение Items коллекции, начиная с 0, поскольку коллекция является отсчитываемый от нуля и вызовите GetItemChecked для каждого элемента. Обратите внимание, что этот метод выдаст номер элемента в общий список, поэтому если первый элемент в списке не проверяется и второй элемент установлен, то он выдаст примерно «элемент 2 = MyListItem2».
Dim i As Integer Dim s As String s = "Checked Items:" & ControlChars.CrLf For i = 0 To (CheckedListBox1.Items.Count - 1) If CheckedListBox1.GetItemChecked(i) = True Then s = s & "Item " & (i + 1).ToString & " = " & CheckedListBox1.Items(i).ToString & ControlChars.CrLf End If Next MessageBox.Show(s)
int i; string s; s = "Checked items:\n" ; for (i = 0; i <= (checkedListBox1.Items.Count-1); i++) { if (checkedListBox1.GetItemChecked(i)) { s = s + "Item " + (i+1).ToString() + " = " + checkedListBox1.Items[i].ToString() + "\n"; } } MessageBox.Show (s);
int i; String ^ s; s = "Checked items:\n" ; for (i = 0; i <= (checkedListBox1->Items->Count-1); i++) { if (checkedListBox1->GetItemChecked(i)) { s = String::Concat(s, "Item ", (i+1).ToString(), " = ", checkedListBox1->Item[i]->ToString(), "\n"); } } MessageBox::Show(s);