c# - 如何将List中的数据插入到ListBox中?

标签 c# winforms listbox

我创建了一个名为 employees 的列表,我想将该 List 中的所有信息输入到表单的列表框中。

我不敢相信我已经忘记了这一点我环顾四周,找不到任何简明的信息,我有一本学习书,但他们使用 TextBox 而不是 ListBox 并且它们仅适用于数组和简单数据类型。

List<Employee> employees = new List<Employee>();

这是列表,它包含员工

Employee employee1 = new Employee(1111, "Name", "Skill Set");

我已经创建了一个 List

的实例

然后我将它添加到表单上的列表框中

lstFree.Items.Add(employees);

但它只显示为“集合”

我做错了什么?

最佳答案

Add 方法需要您的类的单个实例。当您将一个集合传递给它时,它会调用 ToString(),您最终会看到该集合的完整类名。不是你想要的。

相反,您可以使用循环:

foreach (var emp in employees)
    lstFree.Items.Add(emp);

或者只是将它分配给DataSource:

listBox1.DataSource = employees;

您还需要告诉它要向用户显示哪个属性(并且可以选择将哪个属性用作基础值):

listBox1.DisplayMember = "Name";
listBox1.ValueMember = "EmpId";   // guessing what your class properties might be called

关于c# - 如何将List中的数据插入到ListBox中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34253035/

相关文章:

c# - 以编程方式将 xml 文档绑定(bind)到 WPF 中的 TreeView

c# - 如何在 C# 中针对大量维度最好地实现 K 最近邻?

sql-server - 从绑定(bind)的 DataGridView 中删除时, Entity Framework 6 在应该使用 DELETE 时使用 UPDATE

c# - 在 C# 应用程序中管理多个 Windows 窗体

c# - ComboBox SelectionChangeCommitted 事件不适用于自动完成

c# - 具有触摸惯性的WPF Listbox下拉整个窗口

c# - 在虚拟化列表框中延迟加载图像

c# - 等待取消任务的简洁方法?

c# - 如何根据其值在 AutoGeneratingColumn 事件期间设置数据网格单元格的背景?

c# - 什么 WPF 控件可以用于 WP7 上的只读项目列表?