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

标签 c# dynamically-generated checkedlistbox

<分区>

我不想从 HARD-CODED 样式的集合中添加项目,我想在按下按钮时从 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;
}

为了检索已检查的项目:(我将它们放在字符串类型的列表中):

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

foreach (string s in checkedListBoxDepts.CheckedItems) {
    Names.Add(s);
}

最佳答案

你因为这一行而收到错误:

upd.checkedListBoxDepts.Items[index] = user;

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

这足以填充:

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

foreach (User user in _users) {
    checkedListBoxDepts.Items.Add(user.UserName);
}

之后您可以将选中的项目作为字符串检索

关于c# - 从 List<> C# 动态地将新项目添加到复选框列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711921/

相关文章:

c# - 如何将表列(通过 SQL 查询返回)列为 CheckedListBox 中的项目?

c# - CheckedListBox Action ItemCheck 删除项目?

excel - 生成与行值相对应的图纸(存在重复值)

Jquery 动态创建可拖动的 div

c# - 字符串格式说明文字

c# - 获取最后插入的 id

javascript - 带有按钮单击和动态输入定位的表单中的空数组

c# - CheckedListBox - FileInfo 对象的集合 - 显示自定义 ToString

c# - 如何通过 FirebaseAdmin SDK 从自定义 token 获取 ID token ?

c# - 到 Task.Run 或不到 Task.Run