WinForm程式啟動時不顯示主窗體的5種方法
文中所述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;
// 建構函式,主窗體被儲存在mainFormInternal
public 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 控制元件一起使用,效果很好!
以上程式碼在VS2005下編譯通過。
相關推薦
WinForm程式啟動時不顯示主窗體的5種方法
文中所述WinForm程式啟動時不顯示主窗體的實現方法主要有以下5種,個人覺得第五種最簡單,而且效果也不錯,第四種方法也值得推薦。 實現程式碼及簡短解釋如下://隱藏窗體的方法1/5:不指定任何窗體為主窗體//注意:通常,在一個程式中,關閉主窗體,就可以關閉應用程式。//但是
基於Dialog程式,啟動時不顯示主視窗,只顯示子視窗的實現
在專案中有如下的一個需求:軟體在網路啟動狀態下顯示主視窗,而在單機狀態下只顯示其子對話方塊(我的是無模式的).在網上找了一天,各種辦法都似乎不太好,不過晚上終於找到了一個不錯的解決辦法.使得我很好的解決了這個問題.if (theApp.m_bUnConnect) { CRe
如何讓windows控制檯程式執行時不顯示黑色框,直接執行
有時候在執行控制檯程式的時候,總會彈出一個DOS框,這個框有時候並不需要,如果在執行控制檯程式時,不想顯示黑色框體,則可以 在程式最開始處加一句: #pragma comment( linker, "/subsystem:windows /entry:mainCRTStar
Windows環境下讓tomcat startup.bat啟動時不顯示控制檯
需要做如下修改: 找到TOMCAT_HOME\bin\setclasspath.bat 在檔案底部找到如下程式碼:rem Don't override _RUNJAVA if the user has set it previously if not "%_RUNJAVA
BAT文件運行時不顯示命令窗口的方法
china 所在 .html bject nbsp rip pan fly -s [轉載] BAT文件運行時不顯示命令窗口的方法 ChinaUnix Fly In Bed 可以編一個VBS文件調用BAT文件,使運行BAT文件時不顯示命令窗口。 新建一個記事本文件,保存為
NestedScrollView內巢狀RecyclerView,開啟頁面時不顯示在頂部的解決方法
由於新需求要求:個人資訊頁面最頂部要增加兩條姓氏全拼,姓名全拼,需求文件如下: 之前佈局用的是NestedScrollView內嵌RecyclerView,RecyclerView位於子佈局的第一個,顯示效果上沒有什麼問題。xml佈局如下: <?xml vers
C#Winform實現程式關閉隱藏窗體,二次程式啟動時顯示
思路:本程式啟動時候,儲存當前窗體控制代碼到檔案, 關閉時候隱藏窗體,不殺死程序,不退出. 下次啟動無需重新建立窗體,直接顯示原窗體,可以實現安卓程式的程序後臺隱藏效果. 點選桌面圖示,又同時可以防止多個程序多開的現象,避免多個程序衝突 好處:登入過的使用者,無需重新登入,
C#技巧【Winform程式讓MessageBox.Show顯示在父窗體中間】
Winform程式讓MessageBox.Show顯示在父窗體中間下面的寫法,預設是顯示在螢幕的中間。DialogResult dr = MessageBox.Show("是否要刪除此資料?", "刪除確認", MessageBoxButtons.OKCancel,Messa
angular 數據內容有重復時不顯示問題
字符串 tro http blog pan track by item repeat color <body ng-app="app"> <div ng-controller="myctl"> <ul>
Fcitx輸入中文時不顯示候選詞框的解決辦法
code rem 不顯示 module log highlight true sudo bash 在非KDE桌面環境下,如果安裝了fcitx-module-kimpanel,可能會導致Fcitx輸入中文時不顯示候選詞框,移除該組件,然後重啟Fcixt。 $ sudo ap
C# 使用printDocument1.Print打印時不顯示 正在打印對話框
blog int document gpo pri tro 對話框 方法 () C#使用printDocument1.Print打印時不顯示正在打印對話框有兩種方法 第一種,使用PrintController PrintController prin
sqlserver中float轉varchar時不顯示科學計數法
serve ima eight bsp sele content HR ali 同事 MSSQL中 float轉換為varchar 變成科學計數法解決方案 在系統初始化的時候,因為有同事,沒有在數值型的數據前面加上 單引號,導致進入數據庫後都變成float型我們需
關於WPF下用戶登錄後再啟動主窗體的實現方法
但是 color event mar 登陸 one 測試 public close /// <summary>App.xaml 的交互邏輯</summary> public partial class App : Application
Xcode 執行程式,memory 不顯示記憶體
執行程式後,xcode 不顯示當前使用的記憶體情況,問題是打開了殭屍--enable zoombie Objects,關閉即可 開啟 product--->SCheme-->EditSCheme -->enable zoombie Objects &nbs
解決GitHub提交時不顯示自己的頭像 顯示另一個賬號(其實也是自己)
1. git show 看看是否是自己的githup 賬號的郵箱 如果不是進行下列操作 2. git config user.email "你的郵箱地址",修改郵箱 3 修改完以後輸入git config user.email 檢查是
程式啟動時log4j報錯 No Log4j 2 configuration file found
ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically p
MTK Android O 充電狀態下電池電量100%時不顯示閃電圖示
需求: android 8.1.1版本google原生充電的時候都會顯示一個閃電的形狀,客戶要求在百分之百電量的時候不顯示閃電 修改: frameworks\base\packages\SettingsLib\src\com\android\settingslib\graph\Bat
小程式首頁不顯示tabbar,而非首頁顯示tabbar的方法
很多新手在寫tabBar的時候會發現明明自己按照微信開發文件的示例寫的tabBar,但是卻不出自己想要的效果,這個我剛開始寫小程式的時候也遇到了同樣的問題,現在給大家講講我的解決方案 一般我們會在在專案的app.json使用以下程式碼,卻沒有如期望那樣在螢幕底部出現TabBar。&nb
除錯程式,卻不顯示程式畫面
今天早上要上班,要除錯原生代碼,啟動後,也調動起來了瀏覽器,但是就是不顯示畫面,瀏覽器也只是顯示斷網的頁面,找不到資訊之類的。 1.更換Debug模式和release模式之間進行切換,還是不行 2.看電腦的右下角的系統欄下的在電腦聯網標誌的左側吧,有個類似磚頭堆起來的四層高的IIs Expres
BottomNavigationView去除動畫,大於3項時不顯示文字的最新解決方案
背景 今天在用 BottomNavigationView實現底部導航欄時出現了個小問題,效果如下: 當使用BottomNavigationView選單項多於3個時,去除動畫效果,顯示選單項文字。 初級方案 在網上看到解決方案是這樣: /** * 建立時間:2