查看选项卡中的每个控件

本文关键字:控件 选项 | 更新日期: 2023-09-27 18:18:01

这样我就有了这个带有背景的表单。问题是我在性能方面出现了巨大的下降。所以有人告诉我,只要使用一个图片框,并使用"Set to back"来获得相同的效果。

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

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

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是transparent

我做错了什么?

查看选项卡中的每个控件

试试这个:

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