Le type dépend des objets que vous utilisez pour remplir la zone de liste activée. Vous pouvez utiliser un DataTable
en utilisant le code suivant:
var table = new DataTable();
table.Columns.Add("ID");
table.Columns.Add("NAME");
table.Rows.Add("1", "John Doe");
table.Rows.Add("2", "Jane Doe");
this.checkedListBox1.DataSource = table;
this.checkedListBox1.ValueMember = "ID";
this.checkedListBox1.DisplayMember = "NAME";
Dans ce cas, puisque vous remplissez la zone de liste vérifiée à l'aide d'un DataTable
faire this.checkedListBox1.CheckedItems
après avoir vérifié un ou plusieurs éléments affichera un ObjectCollection
où chaque élément de la collection est une instance DataRowView
.
Pour obtenir les éléments cochés que vous pourriez faire:
var checkedIds = new List<string>();
foreach (var item in this.checkedListBox1.CheckedItems)
{
var dataRowView = (DataRowView)item;
checkedIds.Add((string)dataRowView["ID"]);
}
Sur une note de côté, vous devriez vraiment améliorer votre taux d'acceptation.
OK, SO CheckedListBox N'ont des propriétés comme DataSource, DisplayMember et ValueMember mais ils ne figure pas dans IntelliSense ..... – odiseh