[英]Inserting a Combobox Inside a groupbox that's inside a container
我在設計視圖中創建了一個 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]);
/////////////////
}
}
你的代碼應該是這樣的:
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]);
/////////////////
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.