1

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

4

2 回答 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 回答