为了账号安全,请及时绑定邮箱和手机立即绑定

如何启动WinForm应用程序最小化到托盘?

如何启动WinForm应用程序最小化到托盘?

侃侃无极 2019-08-13 09:45:10
如何启动WinForm应用程序最小化到托盘?我已经成功创建了一个应用程序,使用NotifyIcon最小化托盘。手动关闭表单后,它将成功从桌面,任务栏和alt-tab中隐藏。尝试最小化应用程序时,会出现此问题。起初问题是应用程序将被最小化但仍会出现在alt-tab对话框中。将FormBorderStyle更改为ToolWindow选项之一(来自“None”选项)修复此问题,但引入了另一个问题。当应用程序首次启动时,在开始菜单上方可以看到最小化窗口的标题栏:打开表单并关闭它会使其正确隐藏。我尝试了很多变化,但这里基本上是它现在如何工作......WindowState在Designer中设置为Minimized。在构造函数中进行一些初始化后,我有以下几行:this.Visible = false;this.ShowInTaskbar = false;双击NotifyIcon时,我有以下内容: this.WindowState = FormWindowState.Normal;  this.Visible = true;  this.ShowInTaskbar = true;就像我说的那样,我已经尝试过很多小的变化(this.Hide()等)。有没有办法让NotifyIcon成为主要组件,这样我可以完全启动并处理表单,同时让NotifyIcon运行?必须有一种方法来启动应用程序与最小化的形式没有任何奇怪。请帮帮我找到它!
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

我正在阅读所有的答案,看到黑客和黑魔法......(没有冒犯,伙伴)

伙计们,不需要黑客。你甚至不需要设置“ShowInTaskbar = false”和其他东西。这样做:

    //"Form Shown" event handler
    private void Form_Shown(object sender, EventArgs e)
    {
        //to minimize window
        this.WindowState = FormWindowState.Minimized;

        //to hide from taskbar
        this.Hide();
    }

注意:我强烈建议不要触摸“ShowInTaskbar”属性。例如,如果您的应用程序注册系统范围的热键或其他类似的东西(钩子等) - 设置ShowInTaskBar = false并最小化您的应用程序将阻止Windows向您的窗口发送一些消息...并且您的钩子/热键/等将停止工作。


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 1471 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信