我已经成功创建了一个使用 NotifyIcon 最小化到托盘的应用程序。当表单被手动关闭时,它会成功地从桌面、任务栏和 alt-tab 中隐藏起来。尝试以最小化应用程序启动时会出现此问题。最初的问题是应用程序将被最小化,但仍会出现在 alt-tab 对话框中。将 FormBorderStyle 更改为 ToolWindow 选项之一(从“无”选项)解决了这个问题,但引入了另一个问题。当应用程序第一次启动时,最小化窗口的标题栏在开始菜单上方可见:
打开表单并关闭它会使其正确隐藏。我已经尝试了很多变化,但这基本上是它现在的工作方式......
WindowState 在设计器中设置为最小化。在构造函数中进行一些初始化后,我有以下几行:
this.Visible = false;
this.ShowInTaskbar = false;
双击 NotifyIcon 时,我有以下内容:
this.WindowState = FormWindowState.Normal;
this.Visible = true;
this.ShowInTaskbar = true;
就像我说的那样,我已经尝试了很多细微的变化(this.Hide() 等)。有没有办法让 NotifyIcon 成为主要组件,这样我就可以在保持 NotifyIcon 运行的同时完全启动和处理表单?必须有一种方法可以以最小化的形式启动应用程序,而不会产生任何怪异。请帮我找到它!