C# 基于数据库入口的对象动态创建

C# 基于数据库入口的对象动态创建,c#,dynamic,C#,Dynamic,在C夏普工作。 我制作了一个面板,其中有许多对象,如文本框、复选框、日期时间选择器等。我想用一个数据库条目来填充这些。那部分没问题。我现在很难弄清楚的是,如何根据数据库中入口的数量,用对象创建面板的新实例 如果您查看MS outlook,电子邮件会列出主题、发件人和have flag按钮等。电子邮件越多,列表和滚动条越长。我希望我的软件也能做同样的事情 如果你看我的scetch,有两个面板可以显示我的数据。我希望创建一个,并根据入口的数量用数据库中的数据填充。 参见www.hagafoto.no

在C夏普工作。 我制作了一个面板,其中有许多对象,如文本框、复选框、日期时间选择器等。我想用一个数据库条目来填充这些。那部分没问题。我现在很难弄清楚的是,如何根据数据库中入口的数量,用对象创建面板的新实例

如果您查看MS outlook,电子邮件会列出主题、发件人和have flag按钮等。电子邮件越多,列表和滚动条越长。我希望我的软件也能做同样的事情

如果你看我的scetch,有两个面板可以显示我的数据。我希望创建一个,并根据入口的数量用数据库中的数据填充。 参见www.hagafoto.no/dreekunst/scetch.jpg上的scetch

我知道这是一个很大的代码量,但谁能告诉我在搜索主题的正确方向,并了解更多。 欢迎任何帮助!
//托马斯

为您指出您可以选择的方向:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        this.AutoScroll = true;
        int i = 0;
        Mypanel[] p = new Mypanel[10];
        for (int j = 0; j < 10; j++)
        {
            p[j] = new Mypanel();
            p[j].Location = new Point(0, (i++) * 80);
            this.Controls.Add(p[j]);
        }
    }
}

public class Mypanel : Panel
{
    Label label1 = new Label { Text = "first" };
    Label label2 = new Label { Text = "second", Location = new Point(0, 30) };
    public Mypanel()
    {
        this.BackColor = Color.White;
        this.Height = 60;
        this.Controls.Add(label1);
        this.Controls.Add(label2);
    }
}

完美的这正是我需要开始的。