Winforms 如何向listview动态添加按钮?

Winforms 如何向listview动态添加按钮?,winforms,listview,c#-4.0,Winforms,Listview,C# 4.0,我有一个表单和一个ListView控件,我正试图使用这段代码动态地向其中添加按钮 SqlDataReader reader = null; SqlConnection test = new SqlConnection(@"Data Source=localhost;Initial Catalog=demo;Integrated Security=True;Pooling=False"); string query = "SELECT* FROM Sample"; try { tes

我有一个表单和一个ListView控件,我正试图使用这段代码动态地向其中添加按钮

SqlDataReader reader = null;

SqlConnection test = new SqlConnection(@"Data Source=localhost;Initial Catalog=demo;Integrated Security=True;Pooling=False");

string query = "SELECT* FROM Sample";

try
{
    test.Open();

    SqlCommand cmd = new SqlCommand(query, test);
    reader = cmd.ExecuteReader();

    while (reader.Read())
    {
        int btnID = Convert.ToInt32(reader["Id"]);
        string btnName = reader["name"].ToString();
        Button btnObj = new Button();
        btnObj.Name = btnID.ToString();
        btnObj.Text = btnName;

        new System.Drawing.Size(150, 30);

        this.listView1.Controls.Add(btnObj);
    }
}
catch (Exception)
{
    throw;
}

示例表有3条记录,但它在listview中仅显示1个按钮,该按钮是示例表的第一条记录的名称。在调试期间,它进入while循环3次?请告诉我我犯了什么错误?

列表框不支持添加控件。它可能在表单上的同一位置绘制所有按钮,这就是为什么您看不到它们的原因。更好的解决方法是使用flowLayoutPanel来包含控件。

以上代码在我的系统中工作,如下所示: