是否可以设置winforms中可用的静态文本控件的透明度?我尝试设置底层面板的透明度,但它不适用于重叠控件。
问问题
201 次
2 回答
2
Label 控件很好地支持透明度。您可以通过为 BackColor 属性选择 Color.Transparent 来获得完全透明。具有非零 alpha 的部分透明度也很有效。这是一个带有 BackgroundImage 属性集和标签的示例:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
label1.BackColor = Color.FromArgb(40, Color.Black);
}
}
看起来像这样:
于 2012-12-21T19:21:03.963 回答
0
使用常规我建议您通过覆盖Label
不会帮助您获得真正的透明度。OnPaint
或处理Paint
容器的事件来绘制字符串。
例子:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var textPosition = new PointF(100, 50);
using (var font = new Font("Arial", 12, FontStyle.Regular))
e.Graphics.DrawString("My text", font, Brushes.Black, textPosition);
}
编辑:我不知道控件实际上支持透明度。+1 Hans,将帖子仅用于替代方法。
于 2012-12-21T17:40:06.610 回答