c# - 如何在没有边框的窗体周围添加阴影?

标签 c# vb.net winforms visual-studio-2010 gdi+

我正在尝试弄清楚如何使用 WinForms 在无边框窗体周围添加完整阴影。我正在考虑在表格的所有四个边周围添加阴影。

我尝试过使用 DropShadow 类,尽管它只将阴影添加到底角和右侧角。

我之前在搜索中多次看到这个问题被问到,但我发现没有任何一个问题可以解决所有四个方面的问题。

我在我的解决方案中同时使用了 C# 和 VB.net 语言,因此任何有关这两种语言的帮助都将是一个很大的帮助。

最佳答案

您将不得不手动绘制它。我想我以前用启动画面做过类似的事情。您需要确定阴影与窗体客户区的偏移量,并创建一个容器(更易于布局)来托管其组成控件,或者如果您需要动态阴影大小,则以编程方式重新定义其客户矩形,然后绘制边框。如果没记错的话,您将使用 alpha 混合 + lineargradientbrush 将阴影透明度淡化到边缘,从而获得最佳效果。

关于c# - 如何在没有边框的窗体周围添加阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14743926/

相关文章:

c# - 什么是 NTLM/Authenticate/Negotiate Web 身份验证

c# - 如何通过回调等待外部响应?

.net - 如何对组合框中的数据进行排序

wpf - 当鼠标指针离开 UIElement 时如何确定鼠标按钮是否被按下

c# - 表单类中的 stackoverflow 异常

c# - .Net 如何为用户控件的属性设置 IsReadOnly

c# - C++ zlib 膨胀失败 - C# 修复的翻译?

c# - BackgroundWorker OnProgressChanged 在 RunWorkerCompleted 被解雇后仍然被解雇

c# - VB6 APIViewer 发生了什么?

c# - Windows 窗体中的文本框验证