我在设计视图中创建了一个flowlayout面板,我想在其中放置一个动态数量的groupbox,每个groupbox都有一个ComboBox。最后一行(在它上面和下面有一个斜线)是困扰我的那一行;我真的不知道它为什么不起作用。
PS:当我在设计视图中绘制组框时,我可以将组合框放在里面!
List<GroupBox> GroupBoxes = new List<GroupBox>();
List <ComboBox> Caja =new List<ComboBox>();
for (int i = 0; i < Campos.Count; i++)
{
GroupBoxes.Add(new GroupBox());
Caja.Add(new ComboBox());
}
for (int i = 0; i< Campos.Count; i++)
{
//Agregamos la caja...
GroupBoxes[i].Location = new System.Drawing.Point(51, 21);
GroupBoxes[i].Size = new System.Drawing.Size(203, 56);
GroupBoxes[i].Text = "haha";
GroupBoxes[i].Name ="GroupBox"+i.ToString();
this.flowLayoutPanel1.Controls.Add(GroupBoxes[i]);
Caja[i].Location = new System.Drawing.Point(51, 21);
Caja[i].Name = "comboBox"+i.ToString();
Caja[i].Size = new System.Drawing.Size(121, 21);
Caja[i].DropDownStyle = ComboBoxStyle.DropDownList;
/////////////////
this.GroupBoxes[i].Controls.Add(Caja[i]);
/////////////////
}
}
答案 0 :(得分:1)
您的代码应该是这样的:
List<GroupBox> GroupBoxes = new List<GroupBox>();
List <ComboBox> Caja =new List<ComboBox>();
for (int i = 0; i < Campos.Count; i++)
{
ComboBox cb = new ComboBox();
cb.Location = new System.Drawing.Point(51, 21);
cb.Name = "comboBox"+i.ToString();
cb.Size = new System.Drawing.Size(121, 21);
cb.DropDownStyle = ComboBoxStyle.DropDownList;
Caja.Add(cb);
GroupBox gb = new GroupBox();
gb.Location = new System.Drawing.Point(51, 21);
gb.Size = new System.Drawing.Size(203, 56);
gb.Text = "haha";
gb.Name ="GroupBox"+i.ToString();
gb.Controls.Add(cb);
GroupBoxes.Add(gb);
this.flowLayoutPanel1.Controls.Add(gb);
}
}
或只是放置以下行
this.flowLayoutPanel1.Controls.Add(GroupBoxes[i]);
之后的
/////////////////
this.GroupBoxes[i].Controls.Add(Caja[i]);
/////////////////