0

这是我的表格这是我的表格

如果我单击第一个面板上的“添加”,我想在第一个面板下方创建“Strategy1_2”并将所有其他面板向下移动。如果我再次点击我想创建 Strategy1_3 (...)

我知道如何创建一个按钮,但不知道如何复制整个面板。这是我的按钮代码,它离这个程序很远吗?

private void addstrat1_i_Click(object sender, EventArgs e)
{
    panel3strat.Width += 200;
    Button addstrat1_2 = new Button();
    addstrat3_2.Size = new Size(210, 41);
    addstrat1_2.Location = new Point(31,89);
    addstrat1_2.Visible = true;
    panel1strat.Controls.Add(addstrat3_2);

}
4

2 回答 2

1

最好的方法是为您的策略面板创建一个 UserControl。然后,您可以将 UserControls 插入 FlowLayoutPanel。这将解决您准确放置控件并创建某些面板副本的问题。

请注意,在表单上添加大量控件时,您可能会耗尽资源(例如窗口句柄)。这可以通过仅显示一定数量的控件并在滚动时通过此“固定”控件移动数据来解决。

于 2013-04-30T09:52:10.043 回答
0

我建议使用两种方法:CreatePanelBlock()将发出一个UserControl您将添加到容器中的方法,以及BindPanelWithData(...)设置依赖项。

请记住,您可以将面板设置为自定义控件。

于 2013-04-30T10:08:42.927 回答