【发布时间】:2017-09-11 03:13:14
【问题描述】:
有三个连续的层,picturebox1(.jpg) -> label1 -> picturebox2(.png transparent) 我想要的是让 label1 和 pictrurebox2 对 picturebox1 透明,这样 label1 可以通过 picturebox2 看到但它不起作用..
public Form1()
{
InitializeComponent();
label1.Parent = pictureBox1;
label1.BackColor = Color.Transparent;
pictureBox2.Parent = pictureBox1;
pictureBox2.BackColor = Color.Transparent;
picturebox2.BringToFront();
}
所以请帮帮我
【问题讨论】:
-
不确定定位,但您可能需要使标签成为pb2 的子标签,即所有控件必须一一嵌套。这意味着:没有重叠!
-
只能看到Parent,堆叠效果不起作用。最简单的解决方法是在pictureBox1 的Paint 事件中使用TextRenderer.DrawText() 而不是Label。也便宜很多,但你必须写代码。顺便说一句,无需停在那里,现在您也可以在该事件中使用 Graphics.DrawImage() 并且不再需要 pictureBox2。
标签: c# .net winforms custom-controls gdi+