다음을 통해 공유


방법: Windows Forms CheckedListBox 컨트롤에서 선택한 항목 확인

Windows Forms CheckedListBox 컨트롤에서 데이터를 표시할 때 CheckedItems 속성에 저장된 컬렉션을 반복하거나 GetItemChecked 메서드를 사용하여 목록을 단계별로 실행하여 검사할 항목을 확인할 수 있습니다. GetItemChecked 메서드는 항목 인덱스 번호를 인수로 사용하여 true 또는 false를 반환합니다. 예상과 달리 SelectedItemsSelectedIndices 속성은 어떤 항목이 선택되는지는 결정하지 않으며, 어떤 항목이 강조 표시되는지를 결정합니다.

CheckedListBox 컨트롤에서 확인된 항목을 확인하려면

  1. CheckedItems 컬렉션이 0부터 시작하므로, 0부터 해당 컬렉션을 반복합니다. 이 메서드는 전체 목록이 아니라 확인된 항목 목록의 항목 번호를 제공합니다. 따라서 목록의 첫 번째 항목을 확인하지 않고 두 번째 항목을 확인하면 아래 코드에 “Checked Item 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);  
    }  
    
    • 또는
  2. Items 컬렉션이 0부터 시작하므로 해당 컬렉션을 0부터 단계별로 실행하고 각 항목에 대한 GetItemChecked 메서드를 호출합니다. 이 메서드는 전체 목록의 항목 번호를 제공하므로 목록의 첫 번째 항목을 확인하지 않고 두 번째 항목을 확인하면 “Item 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);  
    

참고 항목