如何将用户控件添加到面板

时间:2012-03-18 23:23:05

标签: c# winforms visual-studio-2010

我在项目中创建了多个用户控件,我需要做的是能够在面板控件上切换它们。

例如,如果用户单击button1,则在删除对象上的每个控件之后,userControl1将被添加到面板中,等等。

我有这段代码:

panel1.Controls.Add(MyProject.Modules.Masters);

但它不起作用。

我怎么做?

3 个答案:

答案 0 :(得分:20)

您必须实例化您的控件。您必须确保适当设置尺寸,或者确保适当的码头填充。

var myControl = new MyProject.Modules.Masters();
panel1.Controls.Add(myControl);

答案 1 :(得分:9)

您需要实例化一个新的MyProject.Modules.Masters。

MyProject.Modules.Masters myMasters = new MyProject.Modules.Masters()
panel1.Controls.Add(myMasters);

这只会向panel1添加一个新控件。如果你想在添加控件之前清除面板中的所有内容,就像你在问题中所说的那样,先调用它:

panel1.Controls.Clear();

答案 2 :(得分:0)

不仅更容易。

panel1.Controls.Clear();
panel1.Controls.Add(new MyProject.Modules.Masters());

编辑:也许试试这个......

panel1.Controls.Cast<Control>().ForEach(i => i.Dispose());
panel1.Controls.Clear();
panel1.Controls.Add(new MyProject.Modules.Masters());