0

Lime の透過キーを持つ C# WinForm があります。また、フォームの背景色をライムに設定しました。これは、ボタンなど、考えられるほとんどすべてのものに最適です。フォームが存在しないように見え、カスタムの外観のフォームを作成できます。

背景が透明の画像ボックスがあり、画像ボックスの画像にはドロップシャドウがあります。アプリケーションを実行すると、ドロップ シャドウが透明になりません。ドラウ シャドウの背景色は、フォームの背景色 (ライム) です。恐ろしいですね。

透明な画像を適切に配置できる透明なフォームを作成するにはどうすればよいですか。

SWTOR ゲーム ランチャーなどのプログラムには、この素敵な背景のドロップ シャドウがあるので、それが可能であることはわかっています。

ありがとう!

4

1 に答える 1

0

探しているのは、Windows リージョン
または
レイヤード ウィンドウの 2 つのうちの 1 つです。

C#の優れた例を次に示します。

または、私がまとめた小さな例:

    protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
    {
        GraphicsPath gp = new GraphicsPath();
        Region r;
        PointF[] p = new PointF[9];
        p[0] = new PointF(70, 0);
        p[1] = new PointF(170, 0);
        p[2] = new PointF(240, 70);
        p[3] = new PointF(240, 170);
        p[4] = new PointF(170, 240);
        p[5] = new PointF(70, 240);
        p[6] = new PointF(0, 170);
        p[7] = new PointF(0, 70);
        p[8] = new PointF(70, 0);
        gp.AddPolygon(p);

        r = new Region(gp);
        this.Region = r;

        gp.Dispose();
        r.Dispose();
    }

このコードを有効にしたい形式に入れる必要があります。

于 2012-04-21T16:28:39.963 に答える