【问题标题】:How can I add a shadow around a form with no border?如何在没有边框的表单周围添加阴影?
【发布时间】:2013-01-22 12:40:30
【问题描述】:

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

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

我之前在搜索中看到这个问题被问过很多次,但我发现没有任何一个问题能对所有四个方面都有答案。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2014-07-28
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多