最近在研究C#的Winform窗体的效果,上次介绍了窗体动画效果的博文( 基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次将窗体阴影效果的方案进行一个介绍。
找了一下度娘,具体窗体阴影效果就两种方法:直接绘制和使用双窗体。这里介绍的是双窗体的方法。
1、 项目目录;
笔者已经将该窗体阴影效果的代码做成了窗体继承的方式,直接继承该窗体类即可。
2、 函数介绍;
类里面有一些注释,读者结合起来进行理解,主要是知道怎么使用,至于需要与其它类结合应用的话再细读源码即可。
下面是绘图层的一些代码:
控件层代码:
3、 运行效果;
下面是窗体运行的一个效果:
4、 源码下载;
这里提供了该方案的源码下载,请需要的读者自己下载使用:
https://download.csdn.net/download/lzhdim/88142860
笔者曾经将这个窗体阴影效果的方案与上次的动画效果放一起,但是没有起到作用,因为窗体阴影效果是用的双窗体,而窗体动画是在控件层作用,如果双窗体都用了窗体动画,那在最小化和最大化的时候仍然有一个窗体动画的延迟,非常明显,所以不能将窗体动画放在这里应用了,具体感兴趣的读者请提供解决方案。
注:建议窗体的效果还是使用控件方式进行比较好,后面笔者会有介绍相关的开源控件使用的效果。