C#WF半透明窗体
问题描述:
我想在WF中创建带有半透明背景的桌面边框少部件。就像这样:C#WF半透明窗体
,但没有运气现在。所有我能做到的,是全面的背景透明度
this.BackColor = Color.Black;
this.TransparencyKey = this.BackColor;
或者整个表格
this.Opacity = .4;
有的时候我也花带的BackgroundImage组合TransparencyKey,但换来的只是一个纯黑色的背景。
完全绝望我创建了两个窗体一个完全透明的文本和第二个不透明的,但我不能保持移动过程中上面的第一个窗口,所以文本变暗。
有没有可能在WF中做这个或我需要寻找QT或antoher窗口库。
答
经过几天的研究,我没有找到任何解决方案在Windows 10工作。它看起来像没有方法可以在它上面工作。所以我最终在WPF中创建了这个项目,在那里可以轻松制作。
您可以使用分层窗口。例如,查看[Windows窗体透明背景图像](http://*.com/a/33531201/3110834) –
您通常需要两个窗口的三明治。底部使用不透明度和使用TransparencyKey的顶部。一般来说,在不可预测的背景上显示文字是一个非常糟糕的主意。标准的抗锯齿效果无法正常工作,不再将字母形状混合到背景中。他们变得非常明显,文字看起来很丑。只有正确的方法是使用Graphics.CopyFromScreen()创建一个屏幕快照,使用alpha
汉斯我做了三明治,字体看起来不错,但是当背景是透明的时候,你可以点击窗口并选择底层的一个,在我的情况下,背景层到顶部,没有模糊的文字。 – Sajgoniarz