/*
This code will set all your object's background color to the same as the form.
This should be written in the body of <FormName>_Load(object, EventArgs).
*/
Control[] objs = new Control[] { /* your object list, e. g { myLabel, myPicture } */ };
foreach (Control control in objs) {
control.BackColor = Color.Transparent;
// OR
control.BackColor = this.BackColor;
}
/*
This code will set all your object's background to transparent and show the PBox.
This should be written in the body of <FormName>_Load(object, EventArgs)'s foreach loop.
Put everything before it the same as in 1st code fragment.
*/
control.Parent = back;
control.BackColor = Color.Transparent;
9条答案
按热度按时间a5g8bdjr1#
你是对的。但这里是使标签的背景色透明的最简单方法。在该标签的属性窗口中选择Web。。在Web中选择透明:)
ykejflvf2#
pbwdgjma3#
让我们看看两种可能的情况。
1.背景是一种颜色,在VS构造函数中双击窗体背景,然后编写如下代码:
让我们看看照片。
bis0qfac4#
通常,出现在图像前面的标签和文本框最好在面板中组织。渲染时,如果标签需要对面板中的图像透明,您可以在表单初始化中切换到图像作为标签的父级,如下所示:
bq8i3lrv5#
它使用Graphics.CopyFromScreen,因此当控件在屏幕上可见时需要添加它。
nzrxty8p6#
要使标签后面带有图片,一个简单的方法是使用标签本身的Image属性。这将在图片的顶部打印文本,并允许您根据需要对齐图像(上/下/左/右/中心)。picture
np8igboo7#
另一种选择可能是:
vshtjzan8#
是否要使标签(除文本外)透明?Windows窗体(我假设是WinForms -这是真的吗)并不真正支持透明。最简单的方法有时是将标签的Backcolor设置为Transparent。
但是你会遇到一些问题,因为WinForms确实不支持透明性。否则,请看这里:
http://www.doogal.co.uk/transparent.php
http://www.codeproject.com/KB/dotnet/transparent_controls_net.aspx
http://www.daniweb.com/code/snippet216425.html
设置usercontrol的父级会阻止它透明
祝你好运!
f0brbegy9#
如果你在背景中的图片框,然后使用这个:
将此代码放在
InitializeComponent();
下面或Form_Load
方法中。参考:https://www.c-sharpcorner.com/blogs/how-to-make-a-transparent-label-over-a-picturebox1