可能重复:
How to make the startup form initially invisible or hidden
我的应用程序有一个系统托盘,我不希望Window在启动时出现。
我该如何做到这一点?
这是默认的Windows窗体应用程序。
我拖了一个notifyIcon和一个contexualMenuStrip
当表单关闭时,应用程序退出(不想要它)。但是,当启动应用程序时,Windows窗体也可以显示。那么如何在启动时启动表单(而不是在关闭窗口时退出)?
答案 0 :(得分:1)
基本上您需要覆盖SetVisibleCore()
来实现这一目标......另一个选择是将ShowInTaskbar
设置为false
并使用ApplicationContext
中的Application.Run
。< / p>
一些参考链接和示例代码:
答案 1 :(得分:0)
答案不是隐藏您的主要表单,而是首先不显示/加载。
一种方法是创建自定义ApplicationContext
:
public static class Program
{
public static void Main(string[] arguments)
{
var context = new NotifyIconApplicationContext();
context.Icon.Icon = new Icon(PATH_TO_ICON_FILE_HERE);
context.Icon.Visible = true;
Application.Run(context);
}
}
class NotifyIconApplicationContext : ApplicationContext
{
public NotifyIconApplicationContext()
{
Icon = new NotifyIcon();
}
public NotifyIcon Icon { get; set; }
}
然后,您可以在Application.Run(context)
行之前将处理程序附加到通知图标,以允许打开主表单,显示菜单等内容。