我的意思是当用户启动我的应用程序(exe)时,我希望它直接在系统托盘中启动,而不显示窗口。就像杀毒软件和下载管理器一样,在系统托盘中静默启动和运行。
我想要同样的效果,只有当用户单击notifyIcon的contextmenustrip的"show"按钮时,应用程序才会显示GUI。
我正在使用这个,但它没有起作用。
private void Form_Load(object sender, EventArgs e)
{
this.Hide();
}
也许我需要在另一个没有GUI但具有notifyIcon和ContextMenuStrip的类中拥有Main()函数,其选项将实例化GUI窗口类。对吧?
Application.Run()
本质上是放弃控制 (?). 我想做的是让代码在没有用户交互的情况下执行某些操作(比如处理数据并将其写入文件)。我应该把这段代码放在哪里,以便在程序停留在系统托盘时执行? - Barry DysertApplication.Run()
启动了 Windows 消息泵。如果你没有在某个地方调用它,那么你的托盘图标将完全无法工作。不知道你实际想要实现什么,我建议你看看线程,但要注意在除了从Application.Run()
调用的线程之外的其他线程上修改 UI 的问题。 - Matthew Scharley