从 List<> C# 动态添加新项目到复选框列表

Par*_*igm 3 c# checkedlistbox dynamically-generated

我不想从硬编码样式的集合中添加项目,我想在按下按钮时从 List<> 填充它们。

首先,我从列表中获取数据,如下所示:

private List<User> _users = new List<User>()

foreach (User user in _users) {
    int index = checkedListBoxDepts.Items.Add(user.UserName);
    upd.checkedListBoxDepts.Items[index] = user;
}
Run Code Online (Sandbox Code Playgroud)

用于检索已检查的项目:(我将它们放入字符串类型的列表中):

List<string> Names = new List<string>();

foreach (string s in checkedListBoxDepts.CheckedItems) {
    Names.Add(s);
}
Run Code Online (Sandbox Code Playgroud)

ycl*_*vnc 5

由于这一行,您会收到错误:

upd.checkedListBoxDepts.Items[index] = user;
Run Code Online (Sandbox Code Playgroud)

您将用户对象分配给 checkBoxList 的项目,然后尝试将它们作为字符串检索

这足以填充:

private List<User> _users = new List<User>()

foreach (User user in _users) {
    checkedListBoxDepts.Items.Add(user.UserName);
}
Run Code Online (Sandbox Code Playgroud)

之后您可以以字符串形式检索选中的项目