我有一个只需要NotifyIcon按预期工作的程序.所以我一直试图让程序启动时隐藏主窗体.
在frmMain_Load中,我尝试了两种方法
this.Hide(); this.Visible = false;
没有成功.
它们可以在其他方法中工作,例如NotifyIcon_MouseClick方法,但我希望它隐藏在Load中.
我在这里看到另一个问题,在那里Matias建议:
BeginInvoke(new MethodInvoker(delegate { Hide(); }));
这是有效的,但是当我启动程序时,我可以看到表单快速闪烁.它总比没有好,但我想知道是否有更好的解决方案.
谢谢.
// In Your Program.cs Convert This static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } // To This static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Form1 TheForm = new Form1(); Application.Run(); } // Call Application.Exit() From Anywhere To Stop Application.Run() Message Pump and Exit Application
如果您的程序具有默认的Visual Studio生成的Program.cs文件,则有一种简单的方法:
[STAThread] static void Main() { Application.EnableVisualStyles (); Application.SetCompatibleTextRenderingDefault (false); Application.Run (new MainForm ()); }
调用的简单事实Run
将确实使表格可见.尝试在表单的属性中执行以下操作:
设置WindowState
为Minimized
设置ShowInTaskbar
为false
这应该做的伎俩!