C#实现窗体抖动

举报
小小张自由--张有博 发表于 2021/11/23 23:23:07 2021/11/23
【摘要】   目录 窗体抖动封装一个类内,使用时直接调用即可 U层直接调用 P2P聊天的时候可以发送抖一抖,但是前提自己得先实现抖一抖,再通过网络发送吧。本文只是将基础的本地抖一抖实现了,局域网发送抖一抖,下一篇博客安排。 窗体抖动封装一个类内,使用时直接调用即可 public class Shake{ ...
 
目录

窗体抖动封装一个类内,使用时直接调用即可

U层直接调用


P2P聊天的时候可以发送抖一抖,但是前提自己得先实现抖一抖,再通过网络发送吧。本文只是将基础的本地抖一抖实现了,局域网发送抖一抖,下一篇博客安排。

窗体抖动封装一个类内,使用时直接调用即可


  
  1. public class Shake
  2. {
  3. /// <summary>
  4. /// 震动方法
  5. /// </summary>
  6. /// <param name="form">窗体</param>
  7. public void Vibration(Form form)
  8. {
  9. Point pOld = form.Location;//原来的位置
  10. int radius = 3;//半径
  11. for (int n = 0; n < 3; n++) //旋转圈数
  12. {
  13. //右半圆逆时针
  14. for (int i = -radius; i <= radius; i++)
  15. {
  16. int x = Convert.ToInt32(Math.Sqrt(radius * radius - i * i));
  17. int y = -i;
  18. form.Location = new Point(pOld.X + x, pOld.Y + y);
  19. Thread.Sleep(10);
  20. }
  21. //左半圆逆时针
  22. for (int j = radius; j >= -radius; j--)
  23. {
  24. int x = -Convert.ToInt32(Math.Sqrt(radius * radius - j * j));
  25. int y = -j;
  26. form.Location = new Point(pOld.X + x, pOld.Y + y);
  27. Thread.Sleep(10);
  28. }
  29. }
  30. //抖动完成,恢复原来位置
  31. form.Location = pOld;
  32. }
  33. }

U层直接调用


  
  1. Shake shake = new Shake();
  2. shake.Vibration(this);//将窗体传进去

看效果:(录屏看着不太明显,真是观感还是挺明显的。嘿嘿嘿)

如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。

文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/promsing/article/details/109495040

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。