2017-06-09 4 views
0

J'ai une liste de cases à cocher où je veux obtenir tous les éléments sélectionnés et affecter le texte sélectionné à une chaîne. Je ne comprends pas pourquoi je suis obtenir erreurLa case à cocher La case à cocher la méthode cochée ne fonctionne pas

« Erreur 1 « objet » ne contient pas une définition pour « checked » et aucune méthode d'extension « checked » accepter un premier argument de type « objet » pourrait être trouvé (vous manque une directive à l'aide ou une référence d'assemblage? »

 for (int i = 0; i < checkedListBoxA.Items.Count - 1; i++) 
     { 
      if (checkedListBoxA.Items[i].Checked==1) 
      { 
       SelectedIt += checkedListBoxA.Items[i].Text + "<br />"; 
      } 
     } 
    } 
+1

serait-ce pas être plus facile à utiliser la propriété [CheckedListBox.CheckedItems] (https: //msdn.micr osoft.com/en-us/library/system.windows.forms.checkedlistbox.checkeditems(v=vs.110).aspx) - _ "Collection d'éléments cochés dans cette CheckedListBox." _? – stuartd

+0

Y a-t-il une raison pour laquelle le Checked n'est pas reconnu? – Elias

+0

Oui, si vous regardez la [documentation] (https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.objectcollection.item (v = vs.110) .aspx), le type de retour est 'Object'. – stuartd

Répondre

1

en utilisant foreach

foreach (object itemChecked in checkedListBox1.CheckedItems) 
{     
    textBox1.Text += itemChecked.ToString() + " "; 
} 

ou à l'aide de la boucle For

for(int i = 0; i<checkedListBox1.Items.Count; i++) 
{ 
    for(int j = 0; j<checkedListBox1.CheckedItems.Count; j++) 
    { 
      if(checkedListBox1.Items[i] == checkedListBox1.CheckedItems[j]) 
      { 
       textBox1.Text += checkedListBox1.Items[i].ToString() + " "; 
      } 
    }     
} 

Ce deux codes imprimera tous les éléments sélectionnés de checkedListBox1 dans textBox1

0

Ok je l'ai utilisé foreach mais je ne comprends pas pourquoi la solution ci-dessus ne fonctionne pas.`

String SelectedIt = ""; 


      foreach (int indexChecked in checkedListBoxA.CheckedIndices) 
      { 


       SelectedIt += checkedListBoxA.Items[indexChecked].ToString() +", "; 

      } 

`