如何在c#中将控件的背景色设置为所需的背景控件?
“我的表单”设置为以下属性:如何在c#中将控件的背景色设置为所需的背景控件?,c#,winforms,controls,C#,Winforms,Controls,“我的表单”设置为以下属性: FormBorderStyle = None; BackColor = 64, 0 64; Transparency Key = 64, 0 64; 然后,我把矩形1和一个标签1放入我的表格中 矩形形状1属性: BackColor = SaddleBrown; 标签1属性: BackColor = transparent; 我想要label1.BackColor=透明以矩形形状1的底色显示,而不是以我表单的底色显示。可能吗?我该怎么做?谢谢 编辑 我希望我的标
FormBorderStyle = None;
BackColor = 64, 0 64;
Transparency Key = 64, 0 64;
然后,我把矩形1和一个标签1放入我的表格中
矩形形状1属性:
BackColor = SaddleBrown;
标签1属性:
BackColor = transparent;
我想要label1.BackColor=透明代码>以矩形形状1的底色显示,而不是以我表单的底色显示。可能吗?我该怎么做?谢谢
编辑
我希望我的标签1的背景色是透明的,因为我想查看我的矩形形状1的背景图像。透明不存在于标签和大多数控件中,除非您实际覆盖了on_paint。透明只需设置父容器的颜色:
Label1.BackColor = Color.Transparent
=
只需将父容器设置为矩形,假设它是一个容器,并且您可以继续。否则,您将需要派生一些类来创建矩形容器
编辑:
如果您想要类似行为的其他明目张胆的证据,请创建一个groupbox,在其中添加标签,然后更改字体大小、系列等,并检查标签是否自行更改。即使在他们身上指定了fond,父groupbox也会接管。要防止这种行为,只需在组框中放置一个面板,并将所有标签拖到其中,然后执行相同的操作,您将不会看到任何情况发生
很少有房地产有这样的表现,不幸的是,多年来侥幸发现了这一点 将控件的背景色设置为Color.Transparent
意味着它使用其父背景
以下是您的选择:
假设矩形形状1是某种控件,则可以使其成为标签的父控件:
label1.BackColor = Color.Transparent;
label1.Parent = rectangleShape1;
但是,这会将标签的范围限制为矩形
创造你自己的
只需设置颜色:label1.BackColor=SaddleBrown
。这也会使标签变成棕色。但我想用透明的。不可能?因为我的rectangleShape1
有背景图片,所以我想让它显示出来。不包含在label1的背景色中。透明只是一个名称,它将其底色作为自己的颜色。至少在VisualStudio中是这样的。PMF回答了你。当我使用label1.BackColor=transparent
,它只是使背景色=64,0,64
,这也是透明度键。等等。。。透明
是您的变量吗?如果您确实希望它是透明的,则必须将其设置为Color.FromArgb(0,0,0,0)
。标签1.Parent
可能会显示一些图片,这就是为什么更改为父对象的背景色不起作用的原因,然后他可以使用图形类和drawtext函数直接在图片上书写。drawtext没有背景。
label1.BackColor = Color.Transparent;
label1.Parent = rectangleShape1;