C# 如何创建PictureBoxes数组?

C# 如何创建PictureBoxes数组?,c#,winforms,C#,Winforms,我做到了: pbs=new PictureBox[8]; pbs[0]。位置=新点(12,27); 对于(int i=0;i

我做到了:

pbs=new PictureBox[8];
pbs[0]。位置=新点(12,27);
对于(int i=0;i
pbs是pictureBox[]

我需要的是以某种方式计算图片盒之间的空间。 例如,pictureBox2应位于位置:12160 下一个12点,。。。。 在表格的每侧各有4个图片框。 我的form1尺寸是800x600 所以我想要4个左边的图片盒和4个右边的图片盒


如何计算位置?

您不需要这样计算位置,我们应该使用一些布局控件来解决这个问题。只需添加2个
面板
,第一个面板停靠在表单的左侧,第二个面板停靠在表单的右侧

pbs = new PictureBox[8];
            pbs[0].Location = new Point(12, 27);
            for (int i = 0; i < pbs.Length; i++)
            {
                pbs[i].Size = new Size(100, 100);
                this.Controls.Add(pbs[i]);
            }
现在,您只需向
panel1
添加4个pictureboxes,向
panel2
添加4个pictureboxes,也可以使用
Dock
属性,如下所示:

panel1.Dock = DockStyle.Left;
panel2.Dock = DockStyle.Right;
panel1.Width = panel2.Width = 100;

使用加法?只需将间隙添加到上一个PictureBox的位置即可。
for (int i = 0; i < pbs.Length; i++) {
   pbs[i].Size = new Size(100, 100);
   pbs.Margin = new Padding(0, 0, 0, 60);
   pbs.Dock = DockStyle.Top;
   Panel p = i < 4 ? panel1 : panel2;
   p.Controls.Add(pbs[i]);
   pbs.BringToFront();
}
flowLayoutPanel1.Dock = DockStyle.Left;
flowLayoutPanel2.Dock = DockStyle.Right;
flowLayoutPanel1.Width = flowLayoutPanel2.Width = 100;
flowLayoutPanel1.FlowDirection = flowLayoutPanel2.FlowDirection = FlowDirection.TopDown;

for (int i = 0; i < pbs.Length; i++) {
   pbs[i].Size = new Size(100, 100);
   pbs.Margin = new Padding(0, 0, 0, 60);
   Control p = i < 4 ? flowLayoutPanel1 : flowLayoutPanel2;
   p.Controls.Add(pbs[i]);
}