主题:模仿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
有人要我去到网上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