C#模拟MSN窗体抖动[原创]
生活随笔
收集整理的這篇文章主要介紹了
C#模拟MSN窗体抖动[原创]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C#模擬MSN窗體抖動
窗體抖動是件很有意思的事情,就讓我們看看一起來看看它的原理吧。?
其實是生成隨機數,然后改變Form的左上角的坐標。
我用的是循環來弄得,其實可以用timer來控制.
?我把抖動分成了兩種抖動:
1。 生成隨機數,改變窗體左上角坐標,然后立即把窗體的坐上角坐標還原,繼續循環。
2。 生成隨機數,改變窗體左上角坐標,循環完畢之后,然后立即把窗體的坐上角坐標還原。
核心代碼如下:
????????private?void?button1_Click(object?sender,?EventArgs?e)
????????{
????????????int?recordx?=?this.Left;????????????//保存原來窗體的左上角的x坐標
????????????int?recordy?=?this.Top;?????????????//保存原來窗體的左上角的y坐標
????????????Random?random?=?new?Random();???????
????????????for?(int?i?=?0;?i?<?100;?i++)
????????????{
????????????????int?x?=?random.Next(rand);
????????????????int?y?=?random.Next(rand);
????????????????if?(x?%?2?==?0)
????????????????{
????????????????????this.Left?=?this.Left?+?x;
????????????????}
????????????????else
????????????????{
????????????????????this.Left?=?this.Left?-?x;
????????????????}
????????????????if?(y?%?2?==?0)
????????????????{
????????????????????this.Top?=?this.Top?+?y;
????????????????}
????????????????else
????????????????{
????????????????????this.Top?=?this.Top?-?y;
????????????????}
????????????????this.Left?=?recordx;????????????//還原原始窗體的左上角的x坐標
????????????????this.Top?=?recordy;?????????????//還原原始窗體的左上角的y坐標
????????????}
???????????
????????}
?
????????//第二種抖動
????????private?void?button2_Click(object?sender,?EventArgs?e)
????????{
????????????int?recordx?=?this.Left;
????????????int?recordy?=?this.Top;
????????????Random?random?=?new?Random();
????????????for?(int?i?=?0;?i?<?50;?i++)
????????????{
????????????????int?x?=?random.Next(rand);
????????????????int?y?=?random.Next(rand);
????????????????if?(x?%?2?==?0)
????????????????{
????????????????????this.Left?=?this.Left?+?x;
????????????????}
????????????????else
????????????????{
????????????????????this.Left?=?this.Left?-?x;
????????????????}
????????????????if?(y?%?2?==?0)
????????????????{
????????????????????this.Top?=?this.Top?+?y;
????????????????}
????????????????else
????????????????{
????????????????????this.Top?=?this.Top?-?y;
????????????????}
????????????????System.Threading.Thread.Sleep(1);
????????????}
????????????this.Left?=?recordx;
????????????this.Top?=?recordy;
????????}
Demo下載
總結
以上是生活随笔為你收集整理的C#模拟MSN窗体抖动[原创]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保护SQL Server数据库的十大绝招
- 下一篇: 没想到咱也算得上是先富起来的那一拨