我有一个具有 Lime 透明键的 C# WinForm。我还将表单的背景颜色设置为 Lime。这适用于按钮之类的东西以及您能想到的几乎任何东西。该表单看起来不存在,并允许我创建一个自定义外观的表单。
我有一个透明背景的图片框,图片框图像有一个阴影。当我运行应用程序时,投影不透明。卓尔阴影的背景颜色为表单背景颜色(石灰)。看起来很可怕。
我如何拥有一个透明的表单,它还允许将透明图像正确放置在其上。
诸如 SWTOR 游戏启动器之类的程序有这个漂亮的背景阴影,所以我知道这是可能的。
谢谢你!
我有一个具有 Lime 透明键的 C# WinForm。我还将表单的背景颜色设置为 Lime。这适用于按钮之类的东西以及您能想到的几乎任何东西。该表单看起来不存在,并允许我创建一个自定义外观的表单。
我有一个透明背景的图片框,图片框图像有一个阴影。当我运行应用程序时,投影不透明。卓尔阴影的背景颜色为表单背景颜色(石灰)。看起来很可怕。
我如何拥有一个透明的表单,它还允许将透明图像正确放置在其上。
诸如 SWTOR 游戏启动器之类的程序有这个漂亮的背景阴影,所以我知道这是可能的。
谢谢你!
您正在寻找两件事之一,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();
}
您需要将此代码放入您希望它生效的表单中。