小编典典

最小化托盘C#WinForms应用程序的正确方法是什么?

c#

将WinForms应用最小化到系统托盘的正确方法是什么?

注意:最小化到 系统托盘 ;在任务栏右侧按时钟排列。我并不是问最小化任务栏,这是当您单击窗口上的“减号”按钮时发生的事情。

我见过一些骇人听闻的解决方案,例如“最小化,将ShowInTaskbar = false设置,然后显示您的NotifyIcon”。

像这样的解决方案很棘手,因为该应用程序似乎没有像其他应用程序那样最小化,因此代码必须检测何时将ShowInTaskbar = true设置为其他问题。

正确的方法是什么?


阅读 228

收藏
2020-05-19

共1个答案

小编典典

实际上,没有任何托管方法可以在本机winforms中对托盘执行这种形式的动画,但是您可以P / Invoke shell32.dll来执行此操作:

一些很好的信息在这里(在评论中不是帖子):

http://blogs.msdn.com/jfoscoding/archive/2005/10/20/483300.aspx

这是在C ++中:

http://www.codeproject.com/KB/shell/minimizetotray.aspx

您可以使用它来找出对于C#版本需要Pinvoke的东西。

2020-05-19