动画显示窗体
动画 显示 窗体
2023-09-14 08:58:58 时间
实现效果:
知识运用:
API函数AnimateWindows
[DllImportAttribute("user32.dll")]
private static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags);
- hwnd: IntPtr,窗口句柄
- dwTime:动画的持续时间
- dwFlags:动画类型选项 常量值如下
实现代码:
private const int AW_SLIDE = 0x00040000; private const int AW_VER_NEGATIVE = 0x00000008; private const int AW_HIDE = 0x00010000; public Form1() { InitializeComponent(); AnimateWindow(this.Handle, 3000, AW_SLIDE + AW_VER_NEGATIVE); //开始窗体动画 } [DllImportAttribute("user32.dll")] private static extern bool AnimateWindow(IntPtr hwnd,int dwTime,int dwFlags); //重写API函数用来执行窗体动画显示操作 //绘制渐变背景 private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Color sColor = Color.Green; //颜色1,2 Color eColor = Color.Black; //实例化刷子 (上色域 开始色 结束色 颜色方向) Brush b = new LinearGradientBrush(this.ClientRectangle,sColor,eColor,LinearGradientMode.Vertical); g.FillRectangle(b,this.ClientRectangle); //进行上色 } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { AnimateWindow(this.Handle, 3000, AW_SLIDE + AW_VER_NEGATIVE+AW_HIDE); //结束窗体动画 }
相关文章
- 前端每日实战:144# 视频演示如何用 D3 和 GSAP 创作一个集体舞动画
- AlertView动画
- POP动画[2]
- unity shader序列帧动画代码,顺便吐槽一下unity shader系统
- css3之一transition(过渡动画)
- 动画-- 按钮按序列(从小到大)显示
- vue.js3:用el-loading显示加载动画(vue@3.2.37 / element-plus@2.2.2)
- Cocos2d-x Lua中帧动画
- 动画--android图片点击放大动画,并遮挡旁边的控件
- android使用shape做selector按钮按下和弹起的动画
- viewPager的切换动画
- vue.js3:用el-loading显示加载动画(vue@3.2.37 / element-plus@2.2.2)
- AutoJs学习-Canvas绘制时钟球球动画
- Android 系统高度修改定制开机动画显示时间
- Android 9.0横屏旋转开机动画显示不全的解决方案
- 太枯燥?分享一个交互式动画可视化 Python 工具包!
- 基于强化学习的倒立摆平衡控制系统simulink仿真,可以显示三维虚拟模型动画效果
- QListWidget内部多个图片不同延时显示动画
- 037:cesium加载GPX文件,显示运动动画
- jquery案例4——jq动画、jq显示与隐藏(规定时间)滑动下拉slideDown,滑动上拉slideUp