我需要动态创建具有某些功能的面板。为此,我使用FloaLayoutPanel添加这些面板,并且我想创建自定义面板,为我提供这些功能。是否可以将自定义面板添加到FlowLayoutPanel?
我创建了一个类并从Panel继承。我以为这没问题,但似乎FlowLayoutPanel仅需要(raw)Panels。
public class MyPanel: Panel
{
int value;
public MyPanel(int given_value)
{
value = given_value;
}
}
要将我的面板添加到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吗?
答案 0 :(得分:1)
将自定义面板添加到flowlayoutpanel应该没有问题,因为它接受从Control继承的任何内容(面板从控件继承,而自定义面板从面板继承)。只需将其添加到其控件中即可:
MyPanel myPanel = new MyPanel();
flowLayoutPanel1.Controls.Add(myPanel);