[英]How to make a Label's BackColor transparent over two PictureBoxes? [duplicate]
我想让标签的背景颜色透明,因为它放在两个图片框上,一个图片框用于表单的背景,另一个只是表单上的图片。
label“游戏ID:”也有透明背景,但在背景图片之上。 我使用以下代码来执行此操作:
label1.Parent = pictureBox1;
label1.BackColor = Color.Transparent;
这里没问题。 但是,当我对板上的数字尝试相同的技术时,标签会消失(我称标签为hole_1,hole_2 ....ect):
hole_1.Parent = pictureBox2;
hole_1.BackColor = Color.Transparent;
如您所见,label 消失了。
location 属性相对于控件容器的左上角。 在这种情况下,该位置最初设置为以 FORM 作为父级。 当您切换到图片框作为父级但保持相同的位置时,控件将向下和向右移动,可能会将其从控件的可见部分移开。
一种解决方案是将位置转换为屏幕坐标,然后返回与图片框相关的客户端坐标:
Point pt = this.PointToScreen(hole_1.Location);
hole_1.Parent = pictureBox2;
hole_1.Location = pictureBox2.PointToClient(pt);
hole_1.BackColor = Color.Transparent;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.