如何啟動WinForm應(yīng)用程序最小化到托盤?我已經(jīng)成功創(chuàng)建了一個應(yīng)用程序,使用NotifyIcon最小化托盤。手動關(guān)閉表單后,它將成功從桌面,任務(wù)欄和alt-tab中隱藏。嘗試最小化應(yīng)用程序時,會出現(xiàn)此問題。起初問題是應(yīng)用程序?qū)⒈蛔钚』詴霈F(xiàn)在alt-tab對話框中。將FormBorderStyle更改為ToolWindow選項之一(來自“None”選項)修復(fù)此問題,但引入了另一個問題。當(dāng)應(yīng)用程序首次啟動時,在開始菜單上方可以看到最小化窗口的標(biāo)題欄:打開表單并關(guān)閉它會使其正確隱藏。我嘗試了很多變化,但這里基本上是它現(xiàn)在如何工作......WindowState在Designer中設(shè)置為Minimized。在構(gòu)造函數(shù)中進行一些初始化后,我有以下幾行:this.Visible = false;this.ShowInTaskbar = false;雙擊NotifyIcon時,我有以下內(nèi)容: this.WindowState = FormWindowState.Normal;
this.Visible = true;
this.ShowInTaskbar = true;就像我說的那樣,我已經(jīng)嘗試過很多小的變化(this.Hide()等)。有沒有辦法讓NotifyIcon成為主要組件,這樣我可以完全啟動并處理表單,同時讓NotifyIcon運行?必須有一種方法來啟動應(yīng)用程序與最小化的形式?jīng)]有任何奇怪。請幫幫我找到它!
3 回答

桃花長相依
TA貢獻1860條經(jīng)驗 獲得超8個贊
我正在閱讀所有的答案,看到黑客和黑魔法......(沒有冒犯,伙伴)
伙計們,不需要黑客。你甚至不需要設(shè)置“ShowInTaskbar = false”和其他東西。這樣做:
//"Form Shown" event handler private void Form_Shown(object sender, EventArgs e) { //to minimize window this.WindowState = FormWindowState.Minimized; //to hide from taskbar this.Hide(); }
注意:我強烈建議不要觸摸“ShowInTaskbar”屬性。例如,如果您的應(yīng)用程序注冊系統(tǒng)范圍的熱鍵或其他類似的東西(鉤子等) - 設(shè)置ShowInTaskBar = false并最小化您的應(yīng)用程序?qū)⒆柚筗indows向您的窗口發(fā)送一些消息...并且您的鉤子/熱鍵/等將停止工作。
- 3 回答
- 0 關(guān)注
- 1599 瀏覽
添加回答
舉報
0/150
提交
取消