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]);
}