成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# MSN Messenger的窗口的實現淺析

開發 后端
C# MSN Messenger的窗口的實現主要向你介紹了要實現的效果以及具體的步驟和期間的注意事項,希望對你了解和學習C# MSN Messenger的窗口的實現有所幫助。

C# MSN Messenger的窗口的實現是指什么呢?大家一定都用過MSN Messager了吧?每當有新郵件或者是新消息到來的時候,MSN Messager便會從右下角升起一個小窗口提醒您,然后又降下去。當你在聚精會神的在電腦上做一件事的時候,一定不會喜歡突然被"咚"一下出現在屏幕中心的對話框打擾,它的這種設計不但非常體貼用戶,而且效果還很酷。如果您寫了一個程序駐留在后臺并要求在需要的時候會提醒用戶,并且希望也能實現這種效果,那么請跟我一步一步來做下圖所示的這個仿MSN Messager的滾動提示窗口。

C# MSN Messenger的窗口的實現方法詳細:

效果示例圖

效果示例圖 

C# MSN Messenger的窗口的實現***步,建立一個Windows Application,然后在主form中放置一個Button,如下圖所示:

按鈕設置 

C# MSN Messenger的窗口的實現第二步,給這個Application添加一個窗體(Form2),把窗體的FormBorderStyle屬性設置為None(無邊框模式),然后把TopMost屬性(總在最上方)屬性設置為True,把ShowInTaskbar屬性(是否在 Windows 任務欄中顯示窗體)設置為False,并在窗體上加上你打算要顯示的文字(實際應用中一般是在程序中動態加載),將窗體的背景設置為你想要的圖片和合適的大小。***再放上三個Timer控件,其中,timer1控制窗體滾出的動畫,timer2控制窗體停留時間,timer3控制窗體的滾入動畫,將它們的Interval屬性設置為10。參見下圖

控件設置 #p#

C# MSN Messenger的窗口的實現第三步,編寫代碼,在Form2中添加兩個屬性用來設置窗體的顯示大小:

  1. private int heightMax, widthMax;  
  2. public int HeightMax  
  3. {  
  4. set 
  5. {  
  6. heightMax = value;  
  7. }  
  8. get 
  9. {  
  10. return heightMax;  
  11. }  
  12. }  
  13. public int WidthMax  
  14. {  
  15. set 
  16. {  
  17. widthMax = value;  
  18. }  
  19. get 
  20. {  
  21. return widthMax;  
  22. }  

添加一個ScrollShow的公共方法:

  1. public void ScrollShow()  
  2. {  
  3. this.Width = widthMax;  
  4. this.Height = 0;  
  5. this.Show();  
  6. this.timer1.Enabled = true;  

添加一個StayTime屬性設置窗體停留時間(默認為5秒):

  1. public int StayTime = 5000; 

添加ScrollUp和ScrollDown方法來編寫窗體如何滾出和滾入:

  1. private void ScrollUp()  
  2. {  
  3. if(Height < heightMax)  
  4. {  
  5. this.Height += 3;  
  6. this.Location = new Point(this.Location.X, this.Location.Y - 3);  
  7. }  
  8. else 
  9. {  
  10. this.timer1.Enabled = false;  
  11. this.timer2.Enabled = true;  
  12. }  
  13. }  
  14. private void ScrollDown()  
  15. {  
  16. if(Height > 3)  
  17. {  
  18. this.Height -= 3;  
  19. this.Location = new Point(this.Location.X, this.Location.Y + 3);  
  20. }  
  21. else 
  22. {  
  23. this.timer3.Enabled = false;  
  24. this.Close();  
  25. }  

在三個Timer的Tick方法中分別寫入:

  1. private void timer1_Tick(object sender, System.EventArgs e)  
  2. {  
  3. ScrollUp();  
  4. }  
  5. private void timer2_Tick(object sender, System.EventArgs e)  
  6. {  
  7. timer2.Enabled = false;  
  8. timer3.Enabled = true;  
  9. }  
  10. private void timer3_Tick(object sender, System.EventArgs e)  
  11. {  
  12. ScrollDown();  

在Form2的Load事件中初始化窗體變量:

  1. private void Form2_Load(object sender, System.EventArgs e)  
  2. {  
  3. Screen[] screens = Screen.AllScreens;  
  4. Screen screen = screens[0];//獲取屏幕變量  
  5. this.Location = new Point(  
  6. screen.WorkingArea.Width - widthMax - 20,  
  7.  screen.WorkingArea.Height - 34);//WorkingArea為Windows桌面的工作區  
  8. this.timer2.Interval = StayTime;  

好了,滾動窗體的代碼編寫到這里就完成了,當然,它本身只實現了一個比較簡單的窗體滾動滾出效果,具體如何去應用還應該配合你的程序來完成。當然,你還可以為它添加更多的功能,比如從窗體的任意位置顯示(這里只是從右下角顯示),淡入淡出效果,加上聲音等等。最常用的就是寫一個托盤程序,然后采用這種提醒效果。

***,我們再回到Form1,在Button的Click事件中寫如下代碼來測試一下效果:

  1. private void button1_Click(object sender, System.EventArgs e)  
  2. {  
  3. Form2 form = new Form2();  
  4. form.HeightMax = 120;//窗體滾動的高度  
  5. form.WidthMax = 148;//窗體滾動的寬度  
  6. form.ScrollShow();  

編譯并運行程序,點擊按紐,怎么樣?是不是跟MSN Messager的效果一樣,很酷吧?:)

C# MSN Messenger的窗口的實現的基本內容就向你介紹到這里,希望對你了解C# MSN Messenger的窗口的實現有所幫助。

【編輯推薦】

  1. 淺析C#FileStream寫文件的操作
  2. C#StreamWriter的操作解析
  3. C#BinaryWriter的使用淺析
  4. C#緩存流的使用淺析
  5. C#內存流的使用實例探討
責任編輯:仲衡 來源: JavaEye博客
相關推薦

2014-09-01 15:15:33

MSN微軟

2011-11-25 16:27:46

2009-09-02 17:24:44

C#關機代碼

2009-09-07 09:36:29

C# DisposeDispose方法

2009-08-26 09:54:45

C#打印預覽C#打印

2009-08-12 16:26:30

C#讀取XML文檔

2009-08-27 18:09:49

C#接口的實現

2009-09-03 09:44:02

DropDownLisC#遞歸

2009-09-07 14:00:57

C#抓取網頁

2009-09-02 15:34:37

C#實現插件構架

2009-08-31 16:48:02

C#實現IDispos

2009-09-01 18:29:24

C#實現多個接口

2009-08-26 09:48:48

C#異步套接字

2009-09-11 12:41:41

C#類型轉換

2009-09-07 05:31:39

C#窗體關閉事件

2009-08-25 15:52:27

C#工具欄

2009-09-11 11:27:38

AttributeUsC# Attribut

2009-09-02 10:58:02

C#動態數組

2009-08-21 09:20:44

C#異步套接字

2009-09-09 11:29:32

C# TextBox事
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一级毛片视频 | 国产亚洲成av人片在线观看桃 | 欧美一级片 | av天天干 | 亚洲欧洲小视频 | 天天射视频 | 日韩视频国产 | 国产第二页 | 夜夜草 | 国产精品久久久久不卡 | jdav视频在线观看免费 | 亚洲一区二区av | 亚洲九色 | 在线观看av免费 | 国产精品毛片无码 | 精品亚洲视频在线 | 久久久久久国产精品 | 久久亚洲天堂 | 作爱视频免费看 | 日韩精品一区二区三区久久 | 人人人人爽 | 国产成人99久久亚洲综合精品 | 国产高清一区二区 | 中文在线视频观看 | 激情一区 | www.se91| 国产在线小视频 | 男女视频在线免费观看 | 国产精品久久久亚洲 | 日韩在线不卡视频 | 精品国产一区二区三区四区在线 | 一区二区三区视频免费看 | 欧美一区2区三区4区公司 | 精品一二区 | 亚洲精品一二区 | 亚洲精品久久久久中文字幕欢迎你 | 免费在线观看一区二区三区 | 亚洲精品 在线播放 | 亚洲国产成人精品女人 | 福利国产 | 久久草在线视频 |