簡體   English   中英

在容器內的組框內插入 Combobox

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM