这似乎很简单,我不确定为什么它不起作用。
我有一个按钮,单击该按钮可将一个项目添加到class:form的列表中。
public partial class Form1 : Form
{
List<string> photoNames = new List<string>();
private void button1_Click_1(object sender, EventArgs e)
{
//Hunce1947@superrito.com
photoNames.Add("Ree");
listBox1.DataSource = photoNames;
}
但是,每当您单击该项目时,只会显示一个项目。为什么没有出现多个“ Ree”实例?
答案 0 :(得分:0)
列表框未检测到数据源中的更改。因此将DataSource设置为null 首先,然后再次重新分配数据源。 这将为您工作。
List<string> photoNames = new List<string>();
private void button1_Click(object sender, EventArgs e)
{
photoNames.Add("Ree");
listBox1.DataSource = null;
listBox1.DataSource = photoNames;
}
答案 1 :(得分:0)
我没有足够的声誉来评论,但是我相信photoNames是一个数据集,在那种情况下,我会说您创建一个数据表并添加行。
DataSet photoNames = new DataSet();
DataTable dt = new DataTable("photoName");
dt.Columns.Add(new DataColumn("pname", typeof(string)));
ds.Tables.Add(dt);
,然后代替
photoNames.Add("Ree");
您可以在该数据集的表中将ree添加为一行,并将其绑定到您的列表框,如下所示:
DataRow dr = dt.NewRow();
dr["photoName"] = "Ree";
dt.Rows.Add(dr);
listBox1.DataSource = photoNames;