如何从另一个列表框更新列表框

时间:2017-08-16 22:14:14

标签: c# wpf listbox

我有两个独立形式的两个列表框一旦填写了一个并且使用了一个按钮点击事件,我希望在这个实例中来自该列表框的数据将一堆分数传输到另一个表单。到目前为止,我的问题是将我的第二种形式的列表框转换为arraylist。

以下代码:

Form1中

Form3 newForm1 = new Form3(this); 
newForm1.ShowDialog();

foreach (string s in newForm1.updateStudentInfo)
{
    listForm1.Items.Add(s);
}

窗体2:

public List<string> updateStudentInfo { get; set; }

    string student = txtName.Text;
            string[] stuffFromList = listboxscores // Unsure how to transfer into an arraylist


            for (int i = 0; i < stuffFromList.Length; i++)
            {
                student = student + "|" + form3.listForm1.Items.Add(stuffFromList[i]);
            } 

            updateStudentInfo.Add(student);
            form3.listForm1.Items.RemoveAt(form3.listForm1.SelectedIndex);
            this.Close();
}

1 个答案:

答案 0 :(得分:0)

那么您真正需要帮助的是将列表框项目放入数组/列表中?这应该这样做: 这当然是假设您的其余代码有效。

List<string> items = new List<string>();
if (lbScores.Items != null && lbScores.Items.Count > 0)
{
    foreach (var item in lbScores.Items)
    {
        items.Add(item.ToString());
    }
}

在这里,我重写了代码,以便您更好地理解。

private void btnOK_Click(object sender, EventArgs e)
{
    string student = txtName.Text;
    if (lbScores.Items != null && lbScores.Items.Count > 0)
    {
        foreach (var item in lbScores.Items)
        {
            student = student + "|" + item.ToString();
        }
    }

    updateStudentInfo.Add(student);
    form3.listForm1.Items.RemoveAt(form3.listForm1.SelectedIndex);
    this.Close();
}