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

浙公网安备 33010602011771号