标签页中的Foreach控件

时间:2015-10-16 07:22:48

标签: c# winforms

所以我有一个背景的这个表格。问题是我有一个巨大的下降,表现明智。所以有人告诉我只是使用一个图片框并使用"设置回来"得到同样的效果。

现在问题是我的控件背景不再透明,但与表单背景相同。

所以有人告诉我使用这段代码:

control.Parent = pictureboxBackground;
control.BackColor = Color.Transparent;

但是现在我必须为我的所有20个控件编写这两行代码。

所以我尝试使用以下foreach语句:

foreach (Control but in tabPage2.Controls)
{
    but.Parent = pictureBox1;
    but.BackColor = Color.Transparent;
}   

但现在只有我控制的一半'背面是透明的。

例如:

Label1是透明的

label2不是

button1不是

button2是透明的

我做错了什么?

1 个答案:

答案 0 :(得分:2)

试试这个:

foreach (Control but in tabPage2.Controls)
{
  but.Parent = pictureBox1;
  but.BackColor = Color.Transparent;
}

Application.DoEvents();

foreach (Control but in tabPage2.Controls)
{
  but.Parent = pictureBox1;
  but.BackColor = Color.Transparent;
  but.Invalidate();
}