sip*_*ppa 10 c# forms hide winforms
我有一个只需要NotifyIcon按预期工作的程序.所以我一直试图让程序启动时隐藏主窗体.
在frmMain_Load中,我尝试了两种方法
this.Hide();
this.Visible = false;
Run Code Online (Sandbox Code Playgroud)
没有成功.
它们可以在其他方法中工作,例如NotifyIcon_MouseClick方法,但我希望它隐藏在Load中.
我在这里看到另一个问题,在那里Matias建议:
BeginInvoke(new MethodInvoker(delegate
{
Hide();
}));
Run Code Online (Sandbox Code Playgroud)
这是有效的,但是当我启动程序时,我可以看到表单快速闪烁.它总比没有好,但我想知道是否有更好的解决方案.
谢谢.
VBN*_*ght 15
// 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
Run Code Online (Sandbox Code Playgroud)
如果您的程序具有默认的Visual Studio生成的Program.cs文件,则有一种简单的方法:
[STAThread]
static void Main()
{
Application.EnableVisualStyles ();
Application.SetCompatibleTextRenderingDefault (false);
Application.Run (new MainForm ());
}
Run Code Online (Sandbox Code Playgroud)
调用的简单事实Run将确实使表格可见.尝试在表单的属性中执行以下操作:
WindowState为MinimizedShowInTaskbar为false这应该做的伎俩!