C#实用开发(13)--Winform程序右下角显示通知窗口

AnimateWindow 是一个 Windows API 函数,用于在窗口显示和隐藏时提供动画效果。它是通过 User32.dll 库提供的。AnimateWindow 允许你指定动画的类型、方向和持续时间,从而在窗口显示、隐藏或移动时创建平滑的过渡效果。
使用 AnimateWindow 函数,你需要传递窗口句柄动画持续时间以及一组标志。这些标志(AnimateWindowFlags 枚举)决定了动画的类型、方向和行为

[DllImport("user32")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, AnimateWindowFlags dwFlags);
 //窗体动画效果枚举
 public enum AnimateWindowFlags
 {
     AW_HOR_POSITIVE = 0x0001,//自左向右显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记
     AW_HOR_NEGATIVE = 0x0002,//自右向左显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记
     AW_VER_POSITIVE = 0x0004,//自顶向下显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记
     AW_VER_NEGATIVE = 0x0008,//自下向上显示窗口,该标记可以在迁移转变动画和滑动动画中应用。应用AW_CENTER标记时忽视该标记该标记
    
     AW_CENTER = 0x0010,//若应用了AW_HIDE标记,则使窗口向内重叠;不然向外扩大
     AW_HIDE = 0x10000,//隐蔽窗口
     AW_ACTIVE = 0x20000,//激活窗口,在应用了AW_HIDE标记后不要应用这个标记
     AW_SLIDE = 0x40000,//应用滑动类型动画结果,默认为迁移转变动画类型,当应用AW_CENTER标记时,这个标记就被忽视
     AW_BLEND = 0x80000,//应用淡入淡出结果
 }
//在load 方法里添加实现
 private void Form_Load(object sender, EventArgs e)
 {
 	//设置显示位置,x,y看不懂的话画图就懂了
     int x = Screen.PrimaryScreen.WorkingArea.Width - this.Width - 2;
     int y = Screen.PrimaryScreen.WorkingArea.Height - this.Height - 2;
     this.Location = new Point(x, y);//设置窗体在屏幕右下角显示
     //调用API 实现
     AnimateWindow(this.Handle, 1000, AnimateWindowFlags.AW_SLIDE | AnimateWindowFlags.AW_VER_NEGATIVE);
     TopMost = true;		//窗口置顶,可有可无
 }

对了,记得把边框去除,不然可能会影响动画效果

C# 13 实际效果

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值