0

我有一个具有 Lime 透明键的 C# WinForm。我还将表单的背景颜色设置为 Lime。这适用于按钮之类的东西以及您能想到的几乎任何东西。该表单看起来不存在,并允许我创建一个自定义外观的表单。

我有一个透明背景的图片框,图片框图像有一个阴影。当我运行应用程序时,投影不透明。卓尔阴影的背景颜色为表单背景颜色(石灰)。看起来很可怕。

我如何拥有一个透明的表单,它还允许将透明图像正确放置在其上。

诸如 SWTOR 游戏启动器之类的程序有这个漂亮的背景阴影,所以我知道这是可能的。

谢谢你!

4

1 回答 1

0

您正在寻找两件事之一,Windows 区域

分层 Windows

这是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 回答