C#窗口窗体应用程序,如何高效地在窗口窗体上创建动态面板

C#窗口窗体应用程序,如何高效地在窗口窗体上创建动态面板,c#,.net,visual-studio-2010,window,C#,.net,Visual Studio 2010,Window,我想在我的窗口窗体应用程序中动态创建几个面板。每个面板将由3个标签、一个文本框和一个按钮组成。现在我知道我可以通过每次声明每个变量一次硬编码这一切,但这需要大量的编码,而且显然根本没有效率。 所以我的问题是:有没有一种方法可以动态创建预定义面板,每次创建面板时,都会有一个预定义的布局设置。因此,我需要做的就是添加一个面板,每次添加面板的位置和大小,面板内的所有内容(如标签、文本框和按钮)都已设置好,其位置与面板本身相关。我真的需要为此创建一个类吗 提前感谢阅读并占用您的时间。创建Windows窗

我想在我的窗口窗体应用程序中动态创建几个面板。每个面板将由3个标签、一个文本框和一个按钮组成。现在我知道我可以通过每次声明每个变量一次硬编码这一切,但这需要大量的编码,而且显然根本没有效率。 所以我的问题是:有没有一种方法可以动态创建预定义面板,每次创建面板时,都会有一个预定义的布局设置。因此,我需要做的就是添加一个面板,每次添加面板的位置和大小,面板内的所有内容(如标签、文本框和按钮)都已设置好,其位置与面板本身相关。我真的需要为此创建一个类吗


提前感谢阅读并占用您的时间。

创建Windows窗体控件或用户控件,请参阅创建用户控件,并在其上放置您喜欢的任何内容(标签)。公开该控件的公共方法/属性,以便可以控制其内容。在表单上放置尽可能多的内容,它们的外观和行为都将相同。

这里是一个可以使用的示例

for (int i = 1; i < 5; i++)
{
    var panel1 = new Panel() { Size = new Size(90, 80), Location = new Point(10, i * 100), BorderStyle = BorderStyle.FixedSingle };
    panel1.Controls.Add(new Label() { Text = i.ToString(), Location = new Point(10, 20) });
    panel1.Controls.Add(new Label() { Text = i.ToString(), Location = new Point(10, 40) });
    panel1.Controls.Add(new Label() { Text = i.ToString(), Location = new Point(10, 60) });
    Controls.Add(panel1);
}
for(int i=1;i<5;i++)
{
var panel1=new Panel(){Size=new Size(90,80),Location=new Point(10,i*100),BorderStyle=BorderStyle.FixedSingle};
panel1.Controls.Add(newlabel(){Text=i.ToString(),Location=newpoint(10,20)});
panel1.Controls.Add(newlabel(){Text=i.ToString(),Location=newpoint(10,40)});
panel1.Controls.Add(newlabel(){Text=i.ToString(),Location=newpoint(10,60)});
控件。添加(面板1);
}

您可以创建一个用户控件,然后将其动态添加到表单中,您可能也想看到这一点