C#实现窗体抖动

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

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

U层直接调用


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

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


      public class Shake
      {
         /// <summary>
         /// 震动方法
         /// </summary>
         /// <param name="form">窗体</param>
         public void Vibration(Form form)
          {
              Point pOld = form.Location;//原来的位置
             int radius = 3;//半径
             for (int n = 0; n < 3; n++) //旋转圈数
              {
                 //右半圆逆时针
                 for (int i = -radius; i <= radius; i++)
                  {
                      int x = Convert.ToInt32(Math.Sqrt(radius * radius - i * i));
                      int y = -i;
                       form.Location = new Point(pOld.X + x, pOld.Y + y);
                          Thread.Sleep(10);
                  }
                 //左半圆逆时针
                 for (int j = radius; j >= -radius; j--)
                  {
                      int x = -Convert.ToInt32(Math.Sqrt(radius * radius - j * j));
                      int y = -j;
                       form.Location = new Point(pOld.X + x, pOld.Y + y);
                       Thread.Sleep(10);
                  }
              }
             //抖动完成,恢复原来位置
              form.Location = pOld;
          }
      }
  
 

U层直接调用


      Shake shake = new Shake();
      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个月内不可修改。