我正在尝试为面板中动态创建的图片框添加一些生命和颜色。
我写这段代码:
Panel panel_main = new Panel();
this.Controls.Add(panel_main);
panel_main.Size = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
panel_main.BackColor = Color.Black;
PictureBox[] logos = new PictureBox[6];
for (int i = 0; i < 6; i++)
{
this.Controls.Add(logos[i]);
logos[i] = new PictureBox();
logos[i].BackColor = Color.Yellow;
logos[i].Location = new Point(i * 10, i * 10);
logos[i].Size = new Size(i * 40, i * 10);
logos[i].Visible = true;
}
图片框显示在屏幕上,但尺寸和颜色也没有正确显示!
答案 0 :(得分:2)
这里有一些问题。
首先,你在这一行上没有添加任何东西
this.Controls.Add(logos[i]);
将此行移至循环的底部。
其次,你的第一个盒子的尺寸为零,实际上可能不是问题,但你知道。
第三是你如何添加控件。
this.Controls.Add(logos[i]);
这会将图片框放在表格上。我的直觉表明你实际上想要使用
panel_main.Controls.Add(logos[i]);
将其添加到面板而不是表单。如果您确实想要使用该表单,请在图片框上添加控件调用BringToFront方法。
logos[i].BringToFront();
答案 1 :(得分:0)