1

WinFormで使用可能な静的テキストコントロールの透明度を設定することは可能ですか?下にあるパネルの透明度を設定しようとしましたが、重複するコントロールでは機能しません。

4

2 に答える 2

2

ラベル コントロールは透明度を非常によくサポートします。BackColor プロパティに Color.Transparent を選択すると、完全な透明度が得られます。ゼロ以外のアルファを使用した部分的な透明度もうまく機能します。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ハンス、別の方法のためだけに投稿を残します。

于 2012-12-21T17:40:06.610 に答える