回 帖 发 新 帖 刷新版面

主题:模仿QQ振动 C#代码

说了要做个闹钟的,可是过了好长时间都没做。呵呵,又点太不像话了!所以今天花了点心思,做了个闹钟,界面不是很漂亮。不过功能还是有的。其中就有个模仿QQ振动的例子,这个可花了我不少的功夫。
          有人要我去到网上down一个,我说,要是那样就没意思了。呵呵!
下面看代码:(就一个方法!)
复制代码================================
  private void Shake()
        {
            int xx = this.Location.X;
            int C_xx = this.Location.X + 20;
            int yy = this.Location.Y;
            int C_yy = this.Location.Y + 20;
            int C_Xx = this.Location.X + 10;
            int C_Yy = this.Location.Y + 10;
            int W_hh = this.Height;
            int W_ww = this.Width;
            int w = 0;
            do
            {
                for (int i = xx; i <= C_xx; i++)
                {
                    for (int k = yy; k <= C_yy; k++)
                    {
                        for (int j = i; j >= C_Xx; j--)
                        {
                            for (int o = k; o >= C_Yy; o--)
                            {
                                this.Location = new Point(j, o);
                                //MoveWindow(this.Handle,j,o,W_ww,W_hh,true);
                               //被注释的是用另外的一个方法,API
                            }
                        }
                    }
                }
                w++;
            } while (w < 2);
        }
==================================
 
这个方法的主要思路是,获得本窗体的坐标,然后反复的移动就OK了!
也许第一个方法都看的懂,
第二个方法,也就是调用API的那个方法第一个参数是本窗体的句柄,
第二个是X坐标,
第三个是Y坐标,
第四个是窗体宽度,
第五个是窗体高度,
第六个是确定窗体是否被刷新!
来自:http://bbs.ccsdn.com/read.php?tid=270

回复列表 (共2个回复)

沙发

            int xx = this.Location.X;
            int yy = this.Location.Y;
            int num = 2000;
            while(num != 0)
            {
                if (num % 2 == 0)
                {
                    this.Location = new Point(xx + 2, yy + 2);
                }
                else
                {
                    this.Location = new Point(xx - 2, yy - 2);
                }
                num--;
            }


你的循环体我没有怎么看懂,我写了这个也能够实现振动的。也就是按照你的思路来写的,num可以控制振动的次数(时间)来回改变窗体坐标。当num为偶数就坐标+2,为基数就-2

板凳

这个东西是不是应该由界面设计人员来做呀?呵呵。

我来回复

您尚未登录,请登录后再回复。点此登录或注册