设置静态文本控件的透明度

时间:2012-12-21 16:50:44

标签: c#

是否可以设置winforms中可用的静态文本控件的透明度?我尝试设置底层面板的透明度,但它不适用于重叠控件。

2 个答案:

答案 0 :(得分:2)

Label控件非常好地支持透明度。通过为BackColor属性选择Color.Transparent,可以获得完全透明。具有非零alpha的部分透明度也很有效。以下是BackgroundImage属性集和标签的示例:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        label1.BackColor = Color.FromArgb(40, Color.Black);
    }
}

看起来像这样:

enter image description here

答案 1 :(得分: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汉斯,只留下替代方法。