Nasıl yapılır: Windows Forms CheckedListBox Denetimindeki İşaretli Öğeleri Belirleme

Windows Forms denetiminde veri sunarken, özelliğinde depolanan koleksiyonda veya denetlenen öğeleri belirlemek için yöntemini kullanarak listede adım CheckedListBox CheckedItems GetItemChecked atabilirsiniz. yöntemi GetItemChecked bağımsız değişkeni olarak bir öğe dizin numarası alır ve veya true false döndürür. Beklediğinizin aksine, ve özellikleri hangi öğelerin denetleneceklerini SelectedItems SelectedIndices belirlemez; hangi öğelerin vurgulanmış olduğunu belirler.

CheckedListBox denetiminde denetlenen öğeleri belirlemek için

  1. Koleksiyon sıfır tabanlı olduğu CheckedItems için 0'dan başlayarak koleksiyonda bir daha devam edin. Bu yöntemin, genel liste değil, işaretli öğeler listesinde öğe numarasını size ver olduğunu unutmayın. Bu nedenle, listenin ilk öğesi denetlenmezse ve ikinci öğe denetlenirse, aşağıdaki kod "İşaretli Öğe 1 = MyListItem2" gibi bir metin görüntüler.

    ' 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);  
    }  
    
    • veya -
  2. Koleksiyon sıfır Items tabanlı olduğu için 0'dan başlayarak koleksiyonda adım adım inin ve her öğe için yöntemini GetItemChecked çağırma. Bu yöntemin size genel listede öğe numarasını ve dolayısıyla listenin ilk öğesi denetlenmezse ve ikinci öğe denetlenirse "Item 2 = MyListItem2" gibi bir şey görüntületir.

    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);  
    

Ayrıca bkz.