如何在没有边框的表单周围添加阴影?

时间:2013-02-07 05:05:17

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

我试图弄清楚如何使用WinForms在无边框表单周围添加完整的阴影。我正在寻找在表单的四个边上添加阴影。

我尝试过使用DropShadow类,虽然它只在底部和右侧角添加了阴影。

在我的搜索中,我曾多次看到这个问题,但我没有看到所有四方都有答案。

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

1 个答案:

答案 0 :(得分:0)

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