C# 使用ArrayList创建动态用户界面

C# 使用ArrayList创建动态用户界面,c#,C#,我正在创建一个程序,将某些项目添加到目录中,我将所有项目从图书馆表格发送到目录表格。每次单击“添加”按钮,新项目都会以目录形式出现。此外,每个项目详细信息都保存在ArrayList NewItem中,并因此添加到静态类项目中 所有项目都以编程方式添加到目录表单中,但是每次我添加新项目时,它都会覆盖上一个项目,因此目录表单看起来与图中类似,只是更像这样: 兰博1号 兰博1号 兰博2号 有什么建议吗 这是添加新项的代码示例 ArrayList hello = new ArrayList(); //

我正在创建一个程序,将某些项目添加到目录中,我将所有项目从图书馆表格发送到目录表格。每次单击“添加”按钮,新项目都会以目录形式出现。此外,每个项目详细信息都保存在ArrayList NewItem中,并因此添加到静态类项目中

所有项目都以编程方式添加到目录表单中,但是每次我添加新项目时,它都会覆盖上一个项目,因此目录表单看起来与图中类似,只是更像这样:

兰博1号

兰博1号

兰博2号

有什么建议吗

这是添加新项的代码示例

ArrayList hello = new ArrayList();

// NewItem is ArrayList into which all the item details are originally added

private void addItem(ArrayList NewItem)
{
    foreach (object obj in NewItem)
    {
        Item st = (Item)obj;
        String iname= st.IName.ToString();

        int helloe = hello.Count;
        for (int i = 0; i < helloe ; i++)
        {
            hello.Add(new Label());
            System.Drawing.Point p = 
                new System.Drawing.Point(35, 120+ helloe * 25);

            (hello[helloe] as Label).Location = p;
            (hello[helloe] as Label).Size = new System.Drawing.Size(80, 20);

            (hello[helloe] as Label).Text = iname.ToString();

            Catalouge.Controls.Add(hello[helloe] as Label);

+感谢提及Rambo.why ArrayList and why not List?遗留的东西,并不会真正影响程序的工作方式