【发布时间】:2018-12-24 12:33:45
【问题描述】:
如何创建您在 Windows 10 中看到的透明效果?像这样的:
我不知道如何在 c# 中处理这个问题。从逻辑上讲,每次表单成为焦点时,我都会拍摄桌面快照。然后将其模糊并放置在 0, 0(屏幕到客户端坐标)。这似乎不是很有效。有什么帮助吗?再次。不是经验丰富的 C# 程序员,所以非常感谢详细解释
编辑:我看到一些答案将我引向 alpha 混合页面。这不是我要找的。我想知道如何创建您在图像中看到的模糊效果,其余的我可以按照自己的步调解决
【问题讨论】:
-
如果你想要高级图形,WinForms 根本帮不了你。您将需要查看 WPF 或 UWP
-
这是一个逐像素的 alpha 混合效果。实际由 DirectComposition 实现,与 [winforms] 相距二十年。在 Winforms 应用程序中是 not impossible to use,但您不能再使用工具箱中的大多数控件了。他们使用 24bpp GDI 调用进行渲染。 WPF 使用与其兼容的渲染模型。
-
有点谷歌搜索,我发现在 SO:stackoverflow.com/questions/4096609/…
-
几个月前我已经发布了一些相关代码。 Borderless Form Dropshadow。这是关于将 Aero 样式 DropShadow 添加到无边框 WinForm 中。但是我错误地离开了很多其他与 DWM Api 相关的方法。其中包括
DwmExtendFrameIntoClientArea()(创建一块玻璃)和DwmEnableBlurBehindWindow()的实现。也许它对你有一些用处。
标签: c# winforms windows-10