C# 将自定义面板添加到FlowLayoutPanel

C# 将自定义面板添加到FlowLayoutPanel,c#,windows-forms-designer,C#,Windows Forms Designer,我需要动态创建具有特定功能的面板。为此,我使用FloaLayoutPanel添加这些面板,并希望创建自定义面板,为我提供这些功能。是否可以将自定义面板添加到FlowLayoutPanel 我创建了一个类并从面板继承。我认为这不会有问题,但FlowLayoutPanel似乎只接受(原始)面板 要将我的面板添加到FlowLayoutPanel,请执行以下操作: MyPanel panel = new MyPanel(21); panel.Click += new EventHandler(panel

我需要动态创建具有特定功能的面板。为此,我使用FloaLayoutPanel添加这些面板,并希望创建自定义面板,为我提供这些功能。是否可以将自定义面板添加到FlowLayoutPanel

我创建了一个类并从面板继承。我认为这不会有问题,但FlowLayoutPanel似乎只接受(原始)面板

要将我的面板添加到FlowLayoutPanel,请执行以下操作:

MyPanel panel = new MyPanel(21);
panel.Click += new EventHandler(panel_clicked);

if (this.layoutPanel.InvokeRequired)
{
   this.layoutPanel.Invoke((MethodInvoker)delegate
   {
         this.layoutPanel.Controls.Add(myPanel);
   });
}
else
{
   this.layoutPanel.Controls.Add(myPanel);
}

有什么方法可以创建带有自定义面板的FlowLayoutPanel吗?

将自定义面板添加到FlowLayoutPanel应该没有问题,因为它接受从控件继承的任何内容(面板从控件继承,自定义面板从面板继承)。只需将其添加到其控件中:

MyPanel myPanel = new MyPanel();
flowLayoutPanel1.Controls.Add(myPanel);

Mhh,那么我的问题一定是在esle的某个地方,我得到了一个错误:无法从“namespace…MyPanel”转换为“System.Windows.forms.Control”尝试添加一个不带任何参数的cunstructor,例如:
public MyPanel(){}
@Dominick只需删除构造函数,并将
给定值
添加为属性。我做到了。当前该类只有一个空构造函数,没有其他内容。但我只是看到,如果我在方法所在的同一位置创建类,就不会有问题。但是,如果我创建一个新的类文件,并使用该类文件中的类,它会再次出现错误:S我现在与添加它们的方法位于同一个文件中的类保持一致,但是这正常吗?您有权访问类中的flowlayoutpanel吗?我对此表示怀疑,因为这是你的私人控制。是吗?所以,如果你在外面没有访问权限,这是正常的。我添加了代码
MyPanel myPanel = new MyPanel();
flowLayoutPanel1.Controls.Add(myPanel);