2013-02-07 57 views
4

我想弄清楚如何使用WinForms为无边界窗体添加一个完整的阴影。我正在寻找在表单的所有四面添加阴影。如何在没有边框的表单上添加阴影?

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

我看过这个问题之前在我的搜索中被问过很多次,但是我没有看到这个问题对所有四方都有答案。

我在我的解决方案中同时使用了C#和VB.net语言,所以任何关于任何一种语言的帮助都会有很大的帮助。

回答

0

你将不得不手动绘制这个。我想,我已经做过类似的事情了,但我还是有一个启动画面。您需要决定窗体客户区域阴影的偏移量,并创建一个容器(更容易布局)来托管其组成控件,或者在需要动态阴影大小的情况下以编程方式重新定义其客户矩形,然后绘制边框。如果内存服务,您将使用alpha blending + lineargradientbrush获得最佳效果,以将阴影透明度淡出到边缘。