如何将用户控件添加到面板
我在我的项目中创建了多个用户控件,我需要做的是能够在面板控件上切换它们。
例如,如果用户单击button1,userControl1将在删除其上的每个控件后添加到面板,依此类推。
我有这个代码:
panel1.Controls.Add(MyProject.Modules.Masters);
但它不起作用。
我怎么能这样做?
您必须实例化您的控件。 您必须确保适当设置尺寸,或者确保其具有适当的docker填充。
var myControl = new MyProject.Modules.Masters(); panel1.Controls.Add(myControl);
您需要实例化一个新的MyProject.Modules.Masters。
MyProject.Modules.Masters myMasters = new MyProject.Modules.Masters() panel1.Controls.Add(myMasters);
这只会向panel1添加一个新控件。 如果你想在添加控件之前清除面板中的所有内容,就像你在问题中所说的那样,先调用它:
panel1.Controls.Clear();
不仅仅是更容易。
panel1.Controls.Clear(); panel1.Controls.Add(new MyProject.Modules.Masters());
编辑:也许试试这个……
panel1.Controls.Cast().ForEach(i => i.Dispose()); panel1.Controls.Clear(); panel1.Controls.Add(new MyProject.Modules.Masters());