所以我有这种背景的表格。问题是在性能方面我下降了很多。因此有人告诉我只使用一个图片框,然后使用“返回设置”即可达到相同的效果。

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

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

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是透明的

我究竟做错了什么?

最佳答案

尝试这个:

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

关于c# - 标签页中的Foreach控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33164696/

10-09 22:44