日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C#MSNMessenger的窗口的實(shí)現(xiàn)淺析

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

10年積累的做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有榮成免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

C# MSN Messenger的窗口的實(shí)現(xiàn)方法詳細(xì):

效果示例圖

C# MSN Messenger的窗口的實(shí)現(xiàn)***步,建立一個(gè)Windows Application,然后在主form中放置一個(gè)Button,如下圖所示:

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

 #p#

C# MSN Messenger的窗口的實(shí)現(xiàn)第三步,編寫(xiě)代碼,在Form2中添加兩個(gè)屬性用來(lái)設(shè)置窗體的顯示大小:

 
 
 
 
  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. }
  23. }

添加一個(gè)ScrollShow的公共方法:

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

添加一個(gè)StayTime屬性設(shè)置窗體停留時(shí)間(默認(rèn)為5秒):

 
 
 
 
  1. public int StayTime = 5000;

添加ScrollUp和ScrollDown方法來(lái)編寫(xiě)窗體如何滾出和滾入:

 
 
 
 
  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. }
  26. }

在三個(gè)Timer的Tick方法中分別寫(xiě)入:

 
 
 
 
  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();
  13. }

在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桌面的工作區(qū)
  8. this.timer2.Interval = StayTime;
  9. }

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

***,我們?cè)倩氐紽orm1,在Button的Click事件中寫(xiě)如下代碼來(lái)測(cè)試一下效果:

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

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

C# MSN Messenger的窗口的實(shí)現(xiàn)的基本內(nèi)容就向你介紹到這里,希望對(duì)你了解C# MSN Messenger的窗口的實(shí)現(xiàn)有所幫助。


網(wǎng)站標(biāo)題:C#MSNMessenger的窗口的實(shí)現(xiàn)淺析
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/coijihh.html