- PR -

NETでラベルの背景を透かせる問題点を教えて

1
投稿者投稿内容
Kurara
会議室デビュー日: 2003/05/05
投稿数: 2
投稿日時: 2003-05-05 13:35
ラベルのBackColorプロパテイーをTransParentに設定して
背景を透かせると、途中に有るコントロールが透けてフォーム
の背景になってしまいます。途中にパネルコントロールのような
コンテナの場合は、コンテナの背景が透けて見えます。
PictureBoxがコンテナとして扱えないのでPictureBoxのイメージ上
に貼り付けたラベルがイメージを透けて見える様に出来ません。
PictureBoxのイメージ上に文字を表示する何か他に手段が有ったら
教えて下さい。
NothingButXMLInfoSet
ベテラン
会議室デビュー日: 2003/03/31
投稿数: 65
投稿日時: 2003-05-07 10:37
こんな感じでどうでしょうか。Controls.Add(l);をしたあとに、l.Parent = p;をしているところがミソです。

コード:
using System;
using System.Drawing;
using System.Windows.Forms;

class Form1 : Form {
    [STAThread]
    static void Main() {
        Application.Run(new Form1());
    }

    Form1() {
        ClientSize = new System.Drawing.Size(712, 405);

        PictureBox p = new PictureBox();
        p.Image = Image.FromFile(@"c:\windows\system32\setup.bmp");
        p.Location = new Point(192, 80);
        p.Size = new Size(368, 256);
        p.SizeMode = PictureBoxSizeMode.StretchImage;
        Controls.Add(p);
        
        Label l = new Label();
        l.Text = "Hello World!";
        l.Font = new Font("Tahoma", 48F, FontStyle.Regular, GraphicsUnit.Point, (byte)128);
        l.Size = new Size(232, 200);
        l.ForeColor = Color.Red;
        l.BackColor = Color.Transparent;
        Controls.Add(l);
        
        l.Parent = p;
    }
}

Kurara
会議室デビュー日: 2003/05/05
投稿数: 2
投稿日時: 2003-05-07 23:12
NothingButXMLInfoSet
常連さん、有難う御座いました。
大変満足な結果が得られ、
大変勉強になりました。
黒色ForeColorのラベルを下層にもう1枚置いて
影文字に出来るのかは自分で勉強します。
それから、VBで出来るかも自分でやってみます。

本当に有難う御座いました。
1

スキルアップ/キャリアアップ(JOB@IT)