分配数据源后没有列表框项目 C#

no listbox items after assigning datasource c#

我一直在尝试用数据表填充列表框。

这是我所见过的几乎每个页面所建议的代码:

ListBox lb = new ListBox();

using (SqlCommand cmd = new SqlCommand("SELECT * FROM Files", con))
{
    SqlDataAdapter dap = new SqlDataAdapter(cmd);
    DataTable tblShapes = new DataTable();
    dap.Fill(tblShapes);

    lb.DataSource = tblShapes;

    // define Display and Value members
    lb.DisplayMember = "Name";
    lb.ValueMember = "Id";
}

问题是 lb.Items 中没有项目,即使 lb.datasource.rows 有我的记录 我还尝试将 datasource 的分配顺序更改为 DisplayMemberValueMember 没有任何变化

c#winforms

提前致谢

由于您是动态创建列表框,因此需要添加到控件,稍后还要设置数据源

ListBox lb = new ListBox();
this.Controls.Add(lb);
lb.DisplayMember = "Name";
lb.ValueMember = "Id";
lb.DataSource = tblShapes;