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

时间:2015-01-31 19:09:06

标签: c# .net winforms

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

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是行图像。我重复我的代码的结果是表单显示空!有什么帮助吗?

enter image description here

1 个答案:

答案 0 :(得分:4)

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

this.Controls.Add(pnl);

this假设您的draw_pipeline方法属于您尝试添加Form的{​​{1}}。)