欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现窗体抖动

程序员文章站 2022-06-23 18:55:40
C#实现窗体抖动...
 
 
 

目录

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

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);//将窗体传进去

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

C#实现窗体抖动

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

本文地址:https://blog.csdn.net/promsing/article/details/109495040