C# 编写的winform 最小化到托盘了

转载http://zhidao.baidu.com/question/382962325?device=mobile&ssid=0&from=844b&uid=0&pu=usm%400%2Csz%401328_1001%2Cta%40pad_2_4.2_3_534&bd_page_type=1&baiduid=20DB229434D64CA8119E8F00EA6EB41C&tj=www_normal_6_0_10

先在winform中添加notifyIcon控件,然后激活相应事件,添加代码。因为屏蔽了关闭窗体事件,可以设定一个全局变量bool变量来分辨是哪里引起的close事件。

 

1. //全家变量bool closeTag = true; 

2

.3. //最小化 

4. private void form1_Resize(object sender, EventArgs e)

5. {

6. if (this.WindowState == FormWindowState.Minimized)

7. {

8. NormalToMinimized();

9. } 

10. }

11. //close时最小化 

12. private void form1_FormClosing(object sender, FormClosingEventArgs e)

13. {

14. e.Cancel = true;

15. NormalToMinimized();

16. }

17. //单击显示窗体 

18. private void notifyIcon_MouseClick(object sender, MouseEventArgs e)

19. {

20. if (e.Button == MouseButtons.Left)

21. {

22. this.MinimizedToNormal();

23. }

24. }

25. private void MinimizedToNormal()

26. {

27. this.Visible = true;

28. this.WindowState = FormWindowState.Normal;

29. notifyIcon.Visible = false;

30.31. }

32. private void NormalToMinimized()

33. {

34. this.WindowState = FormWindowState.Minimized;

35. this.Visible = false;

36. this.notifyIcon.Visible = true;

37. }

38. private void frmMain_FormClosing(object sender, FormClosingEventHandler e)

39. {

40. if (closeTag)

41. {

42. e.Cancel = true;

43. NormalToMinimized(); 

44. }

45. }

46.//托盘右键关闭事件

47. private void 退出XToolStripMenuItem_Click(object sender, EventArgs e)

48. {

49. closeTag = false;

50. Application.Exit();

51. } 

 

 

posted @ 2014-01-10 11:19  阿日斯兰  阅读(117)  评论(0)    收藏  举报