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

时间:2012-07-10 10:47:29

标签: c# .net visual-studio-2010 window

我想在我的窗体应用程序中动态创建一个面板。每个面板将包含3个标签和一个文本框以及一个按钮。现在我知道我可以通过每次声明每个变量来立即对所有变量进行硬编码,但它需要大量编码,而且显然根本没有效率。 所以我的问题是:有没有办法动态创建预定义面板,每次创建面板时都会有预定义的布局设置。所以我需要做的就是每次都添加一个面板,它的位置和大小,面板内的所有内容(如标签,文本框和按钮)都已经设置好了它们与面板本身相关的位置。我真的必须为此创建一个类吗?

提前感谢您阅读并花时间。

3 个答案:

答案 0 :(得分:2)

创建Windows窗体控件或用户控件,请参阅http://msdn.microsoft.com/en-us/library/6hws6h2t.aspx

答案 1 :(得分:2)

创建一个用户控件,并随意放置(标签)。公开该控件的公共方法/属性,以便您可以控制它的内容。根据您的喜好将多个表单放在表单上,​​它们的外观和行为都一样。

答案 2 :(得分:2)

以下是您可以使用的示例...

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);
}