C#WF半透明窗体

问题描述:

我想在WF中创建带有半透明背景的桌面边框少部件。就像这样:C#WF半透明窗体

enter image description here

,但没有运气现在。所有我能做到的,是全面的背景透明度

this.BackColor = Color.Black; 
this.TransparencyKey = this.BackColor; 

或者整个表格

this.Opacity = .4; 

有的时候我也花带的BackgroundImage组合TransparencyKey,但换来的只是一个纯黑色的背景。

完全绝望我创建了两个窗体一个完全透明的文本和第二个不透明的,但我不能保持移动过程中上面的第一个窗口,所以文本变暗。

有没有可能在WF中做这个或我需要寻找QT或antoher窗口库。

+0

您可以使用分层窗口。例如,查看[Windows窗体透明背景图像](http://*.com/a/33531201/3110834) –

+0

您通常需要两个窗口的三明治。底部使用不透明度和使用TransparencyKey的顶部。一般来说,在不可预测的背景上显示文字是一个非常糟糕的主意。标准的抗锯齿效果无法正常工作,不再将字母形状混合到背景中。他们变得非常明显,文字看起来很丑。只有正确的方法是使用Graphics.CopyFromScreen()创建一个屏幕快照,使用alpha

+0

汉斯我做了三明治,字体看起来不错,但是当背景是透明的时候,你可以点击窗口并选择底层的一个,在我的情况下,背景层到顶部,没有模糊的文字。 – Sajgoniarz

经过几天的研究,我没有找到任何解决方案在Windows 10工作。它看起来像没有方法可以在它上面工作。所以我最终在WPF中创建了这个项目,在那里可以轻松制作。