首页 > 编程语言 >基于C#的窗体阴影效果方案 - 开源研究系列文章

基于C#的窗体阴影效果方案 - 开源研究系列文章

时间:2023-08-02 14:11:07浏览次数:35  
标签:动画 效果 控件 C# 阴影 开源 窗体

         最近在研究C#的Winform窗体的效果,上次介绍了窗体动画效果的博文( 基于C#的无边框窗体动画效果的完美解决方案 - 开源研究系列文章 ),这次将窗体阴影效果的方案进行一个介绍。

         找了一下度娘,具体窗体阴影效果就两种方法:直接绘制和使用双窗体。这里介绍的是双窗体的方法。

  1、  项目目录;

  笔者已经将该窗体阴影效果的代码做成了窗体继承的方式,直接继承该窗体类即可。

        

 

  2、  函数介绍;

  类里面有一些注释,读者结合起来进行理解,主要是知道怎么使用,至于需要与其它类结合应用的话再细读源码即可。

  下面是绘图层的一些代码:

   

         控件层代码:

        

 

  3、  运行效果;

  下面是窗体运行的一个效果:

        

 

  4、  源码下载;

  这里提供了该方案的源码下载,请需要的读者自己下载使用:

  https://download.csdn.net/download/lzhdim/88142860

   

  笔者曾经将这个窗体阴影效果的方案与上次的动画效果放一起,但是没有起到作用,因为窗体阴影效果是用的双窗体,而窗体动画是在控件层作用,如果双窗体都用了窗体动画,那在最小化和最大化的时候仍然有一个窗体动画的延迟,非常明显,所以不能将窗体动画放在这里应用了,具体感兴趣的读者请提供解决方案。

 

注:建议窗体的效果还是使用控件方式进行比较好,后面笔者会有介绍相关的开源控件使用的效果。

标签:动画,效果,控件,C#,阴影,开源,窗体
From: https://www.cnblogs.com/lzhdim/p/17598884.html

相关文章

  • C盘 红了 C盘占慢状况修复 微软电脑管家修复方法
    微软电脑管家中,进入系统存储空间管理,用好以下4大功能就行:1、垃圾清理:快速清扫电脑缓存和无用文件2、大文件管理:分类扫描C盘大文件,该删就删3、应用管理:看有哪些是不常用的应用程序,该卸就卸4、存储感知:开启后,系统会在电脑内存不足时自动清理空间据官方介绍,系统存储空间管理功能主要针......
  • Cilium系列-10-启用 IPv6 BIG TCP和启用巨帧
    系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyIP......
  • 提升开源项目贡献者基数的5 种好方法
    许多自由和开源软件项目因解决问题而出现,人们开始为它们做贡献,是因为他们也想修复遇到的问题。当项目的最终用户发现它对他们的需求有用,该项目就开始增长。并且出于分享的目的把人们吸引到同一个项目社区。就像任何事物都是有寿命的,增长既是开源项目成功的标志,也是开源项目......
  • docker-学习记录
    1、地址视频地址:https://www.bilibili.com/video/BV1og4y1q7M4?p=6帮助文档:https://docs.docker.com/万能命令【帮助命令】dockerrun--help2、只显示镜像IDdockerimages-q3、搜索下载镜像dockersearchmysqldockerpullmysql4、docker的递归命令dockerrmi-f$(......
  • csharp上传文件到服务器指定文件夹问题
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • 开源流量检测引擎Dalton安装记录
    几个月之前照着官方文档安装过,一次性就成功,昨天重装了服务器再安装Dalton,怎么都安装不了一直报错ERROR:Service'agent-suricata-current'failedtobuild:Thecommand'/bin/sh-c./configure--enable-profiling${ENABLE_RUST}--enable-lua&&make-j$(nproc)&&make......
  • Cilium系列-10-启用 IPv6 BIG TCP和启用巨帧
    系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyI......
  • SIT1145AQ 带选择性唤醒及故障保护的低功耗 CAN FD 总线收发器
    ➢符合ISO11898-2:2016和SAEJ2284-1至SAEJ2284-5标准➢拥有低功耗休眠模式以及待机模式➢支持标准CAN唤醒帧的远程唤醒,兼容ISO11898-2:2016标准的选择性唤醒帧远程唤醒➢唤醒源诊断识别功能➢总线端口±58V耐压➢±12V接收器共模输入电压➢IO口支......
  • patriotic 集群管理
    2022-05-05346安装环境主机名ip角色cs1192.168.43.10etcd、patroni、postgresqlcs2192.168.43.11etcd、patroni、postgresqlcs3192.168.43.12etcd、patroni、postgresql工具简介及功能EtcdEtcd是一款基于Raft算法和协议开发的分布式key-value......
  • 第三阶段C++提高编程(黑马程序员)——Day9
    2STL初识2.1STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西C++的面向对象和泛型编程思想,目的就是复用性的提升大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准诞生了STL2.2STL基本概念STL(StandardTemplateLib......