C#靠近托盘(如msn messenger)
我有#.net应用程序。 所以我创建了一个位于托盘中的notifyIcon。 我想要做的是当用户点击表单上的“x”按钮时,我希望它靠近托盘。 他们应该只能使用托盘图标中的上下文菜单退出程序。
所以我做的是,在表单关闭事件中,我检查表单是否可见。 如果它可见,我将它设置为不可见并将showInTaskbar设置为false(模拟最小化到托盘)如果表单已经不可见,那么它们可能正在从托盘中关闭它,所以我将在这种情况下退出程序。
但是,我遇到的问题是,如果窗口是可见的,但是他们右键单击托盘图标的上下文菜单并点击退出,我需要退出程序而不是最小化。
我该如何解决这个问题?
试试这个:
bool _closingFromMenu; void NOTIFYICON_EXIT_MENU_HANDLER(object sender, EventArgs e) { _closingFromMenu = true; Close(); } //form closing handler FormClosing +=(a,b) =>{ if(_closingFromMenu){ Close(); } else{ e.Cancel = true; //do minimize stuff; } }
或者,如果您只有一个表单,则可以调用Application.Exit();
在上下文菜单项处理程序中
您可能希望根据用户的操作跟踪应用程序的状态,因为这不一定反映在窗口的状态中。 因此,当用户从菜单中选择退出时,您需要设置一个标志以指示您确实正在退出,而不仅仅是隐藏窗口。
只需让您的上下文菜单关闭事件调用Application.Exit()
上述就是C#学习教程:C#靠近托盘(如msn messenger)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1019501.html