2012-12-21 29 views
1

是否可以在winforms中設置可用的靜態文本控件的透明度?我嘗試設置底層面板的透明度,但它不適用於重疊控件。設置靜態文本控件的透明度

+1

如果你的意思是一個標籤控件,背景色屬性設置爲透明。 – PhoenixReborn

+0

我想控制透明度百分比。 – logeeks

回答

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,離開帖子只是爲了替代方法。

2

Label控件支持透明度非常好。通過爲BackColor屬性選擇Color.Transparent,可以獲得完整的透明度。部分透明與非零阿爾法效果也很好。下面是與BackgroundImage屬性集和標籤的例子:

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

是這樣的:

enter image description here

+1

稍微不正確。您可以*在設計器中添加非零阿爾法,只需手動輸入組件值,從alpha開始:i48.tinypic.com/10h95zb.jpg – K3N