C#动态groupBox

时间:2014-03-26 05:13:08

标签: c#

我有一个带有两个按钮的简单表单,其余的是动态FlowLayoutPanelgroupBox。我无法弄明白。为什么groupBox没有显示?显示空FlowLayoutPanel但不显示groupBox。我错过了什么?

   public partial class AddItems : Form
{
    private FlowLayoutPanel panel; 
    private GroupBox groupBox1;
    private Label labelX;
    private Label labelY;
    private TextBox boxX;
    private TextBox boxY;
    private CheckBox boxOn;
    private CheckBox boxOff;


    public AddItems()
    {
        InitializeComponent();
        panel = new FlowLayoutPanel();
        panel.SuspendLayout(); 
    }

public void CreateGroupBox(string boxName, int x, int y)
{
   groupBox1 = new GroupBox();
   groupBox1.Name = boxName;
   groupBox1.Text = boxName;

   labelX = new Label();
   labelX.Text = "X";
   labelX.Location = new Point(10, 10);

   boxX = new TextBox();
   boxX.Text = x.ToString();
   boxX.Location = new Point(20, 10);

   labelY = new Label();
   labelY.Text = "Y";
   labelY.Location = new Point(40, 10);

   boxY = new TextBox();
   boxY.Text = y.ToString();
   boxY.Location = new Point(50, 10);

   boxOn = new CheckBox();
   boxOn.Location = new Point(60, 10);

   boxOff = new CheckBox();
   boxOff.Location = new Point(70, 10);

   groupBox1.Controls.Add(labelX);
   groupBox1.Controls.Add(boxX);
   groupBox1.Controls.Add(labelY);
   groupBox1.Controls.Add(boxY);
   groupBox1.Controls.Add(boxOn);
   groupBox1.Controls.Add(boxOff);
   groupBox1.Dock = DockStyle.Fill;

   panel.Size = new Size(491, 152);
   panel.Location = new Point(12, 12);
   panel.BorderStyle = BorderStyle.Fixed3D;

   this.Controls.Add(panel);

   this.panel.Controls.Add(groupBox1);
   panel.ResumeLayout(); 
}

2 个答案:

答案 0 :(得分:0)

试试这个;

panel.Controls.Add(groupBox1);
this.Controls.Add(panel);

答案 1 :(得分:0)

使用

panel.Controls.Add(groupBox1);
this.Controls.Add(panel);