WinForm 之 程序启动不显示主窗体
生活随笔
收集整理的這篇文章主要介紹了
WinForm 之 程序启动不显示主窗体
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在 WinForm 程序啟動時,不顯示主窗體的實現方法主要有以下5種,第五種最簡單,而且效果也不錯,第四種方法也值得推薦。
實例代碼如下:
//隱藏窗體的方法1/5:不指定任何窗體為主窗體 //注意:通常,在一個程序中,關閉主窗體,就可以關閉應用程序。 //但是在沒有主窗體中,不行。 //只能使用Application.Exit()才能關閉應用程序。 //using可以保證Application結束前,關閉MyMainForm using (new Form1()) {Application.Run(); }; //Application.Run(new Form1());//隱藏窗體的方法2/5: //通過close()關閉主窗口同時可以關閉應用程序 protected override CreateParams CreateParams {get{Hide();return base.CreateParams;} }
//隱藏窗體的方法3/5: //這種方法仍然不能用Close主窗口的方式來關閉應用程序, 還得使用Application.Exit。 protected override void SetVisibleCore( bool value) {base.SetVisibleCore(false); }
//注意:方法2和3 使用Show好像沒辦法調出主窗口,比較郁悶。
//隱藏窗體的方法4/5 part1/2: 推薦使用!!!
//ApplicationContext實質上就是一個Application與主窗體之間的連接器, //掌管著二者之間的互動關系。其中最主要的,就是負責在主窗體 //關閉時結束線程。既然如此,我們只要根據需要自定義一個ApplicationContext就可以了 internal class HideOnStartupApplicationContext : ApplicationContext {private Form mainFormInternal; // 構造函數,主窗體被存儲在mainFormInternalpublic HideOnStartupApplicationContext( Form mainForm){this.mainFormInternal = mainForm;
this.mainFormInternal.Closed += new EventHandler(mainFormInternal_Closed);}
// 當主窗體被關閉時,退出應用程序void mainFormInternal_Closed(object sender, EventArgs e ){Application.Exit(); } } //在Main中作如下修改: HideOnStartupApplicationContext context = new HideOnStartupApplicationContext( new Form1()); Application.Run(context );
//隱藏窗體的方法5/5: 推薦使用!!! //在構造函數中或者直接設置form屬性 this.ShowInTaskbar = false; this.WindowState = FormWindowState.Minimized;
程序中配合 notifyIcon 控件一起使用,實現程序最小化到托盤,效果很好!
轉載于:https://www.cnblogs.com/xinaixia/p/6219123.html
總結
以上是生活随笔為你收集整理的WinForm 之 程序启动不显示主窗体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二叉树经典题之从前序和中序遍历构建二叉树
- 下一篇: 性能优化18招提速宝典