以编程方式创建面板并添加图片框

programmatically create panel and add picture boxes

我想以编程方式创建一个面板并通过 for 循环在 select 图像中添加一些图片框。我尝试了很多方法,但表格显示为空。 我的代码是:

private void draw_pipeline()
    {

        Panel pnl = new Panel();

        pnl.Size = new System.Drawing.Size(1130, 145);
        pnl.Location = new Point(380, 260);
        pnl.BorderStyle = BorderStyle.FixedSingle;
        for (int i =0; i<3; i++)
        {

            PictureBox pic = new PictureBox();
            pic.SizeMode = PictureBoxSizeMode.Zoom;

            switch (i)
            {
                case 0: 
                    { 
                    pic.Location = new Point(3, 15); 
                    pic.Size = new Size(73, 121);
                    pic.Image = new Bitmap("if.png"); break;
                    }
                case 1:
                    {
                        pic.Location = new Point(76, 15); 
                        pic.Size = new Size(73, 121);
                        pic.Image = new Bitmap("line.png"); break;
                    }
            }
            pnl.Controls.Add(pic);
        }


    }

我想要创建的结果如下图所示,其中包含两个带有两个图像的图片框,if.png 是 if-box 图像,line.png 是行图片。我重复我的代码的结果是表格显示为空!!有帮助吗?

您需要在某个时候将 Panel 添加到 Form,就像您将 PictureBoxes 添加到 Panel 一样:

this.Controls.Add(pnl);

this 假设您的 draw_pipeline 方法属于您要添加 PanelForm。)