当前位置:  开发笔记 > 编程语言 > 正文

在启动时将程序放入系统托盘中

如何解决《在启动时将程序放入系统托盘中》经验,为你挑选了2个好方法。

我按照常用链接提示将应用程序减少到系统托盘:http://www.developer.com/net/csharp/article.php/3336751现在它可以工作,但仍然存在问题:我的应用程序已显示什么时候开始; 我希望它直接在系统托盘中启动.我试图在Load事件中最小化并隐藏它,但它什么也没做.

编辑:我可以,如海报建议,修改快捷方式属性,但我宁愿使用代码:我没有完全控制安装软件的每台计算机.

我不想从除了systray之外的任何地方完全删除它,我只想让它最小化.

有任何想法吗 ?

谢谢



1> 小智..:

在你的主程序中,你可能有一行表格:

Application.Run(new Form1());

这将强制显示表单.您需要创建表单,但不要将其传递给Application.Run:

Form1 form = new Form1();
Application.Run();

请注意,在您致电之前,该程序现在不会终止Application.ExitThread().最好从FormClosed事件的处理程序执行此操作.

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    Application.ExitThread();
}



2> lubos hasko..:

这就是你如何做到的

static class Program
{
    [STAThread]
    static void Main()
    {
        NotifyIcon icon = new NotifyIcon();
        icon.Icon = System.Drawing.SystemIcons.Application;
        icon.Click += delegate { MessageBox.Show("Bye!"); icon.Visible = false; Application.Exit(); };
        icon.Visible = true;
        Application.Run();
    }
}

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有