簡體   English   中英

最小化表單應用程序 c# 時任務欄圖標消失

[英]Taskbar icon disappears when minimizing form application c#

當我更改窗口(窗體)時,我的應用程序圖標從任務欄中消失。 所以要打開應用程序,用戶需要點擊 ALT+TAB 到 select 從任務欄隱藏的窗體。 用戶選擇應用程序后,圖標再次出現在任務欄。 我不希望我的應用程序圖標從任務欄中消失。

我的代碼如下:

//Program.cs
[STAThread]
static void Main()
{
    Application.Run(new LoginPage());
}

登錄頁面是應用程序獲取用戶名和密碼的第一個屏幕。 單擊提交按鈕后,應用程序將進入主頁面。

//LoginPage.cs  
private void submitBtn_Click(object sender, EventArgs e)
{
    MainPage mainPage= new MainPage();                   
    mainPage.Show();
    this.Hide();
}

假設我在主頁上有一個按鈕可以轉到另一個表單。 這里當我點擊page1按鈕時任務欄圖標消失了。

//MainPage.cs
private void page1Btn_Click(object sender, EventArgs e)
{
    Page1 page1 = new Page1();
    page1.Show();
    this.Hide();
}

經過一些研究,我找到了一個解決方案,但還有另一個問題是我無法正確最小化表單。

當我用下面的代碼更改上面的代碼時

//MainPage.cs
private void page1Btn_Click(object sender, EventArgs e)
{
    Page1 page1= new Page1();
    page1.ShowInTaskbar = false;
    page1.Owner = this;
    page1.ShowDialog();
    this.Hide();     
}

在這里,我還需要修改Page1如下

//Page1.cs
private void Page1_FormClosed(object sender, FormClosedEventArgs e)
{
    MainPage mainPage = new MainPage();
    mainPage.Show();
}

到這里我可以一步一步成功go到page1(任務欄圖標不消失)。 當我最小化 page1 時,它會按預期最小化應用程序,但是當我從任務欄最大化應用程序時,我希望 Page1 應該最大化,但 MainPage 會最大化,並使用最小化的第一個頁面,如下圖所示。

主頁

我只想糾正這些問題。 我希望那里有經歷過這些事情的專家。

問題解決了。

問題是,我正在根據頁面的屬性最大化表單。

我沒有從屬性中最大化它,而是從Page Load及其解決方案中手動完成它。

this.Bounds = Screen.PrimaryScreen.WorkingArea;

在 MetroFramework 中,我遇到了同樣的問題。 當我的應用程序啟動時(在 FORM_LOAD 中),我以編程方式最大化並且圖標消失了。 檢查 MetroFramework 代碼,問題是由 ShadowType 引起的。 如果將 ShadowType 更改為 None:

this.ShadowType= MetroFormShadowType.None;

問題已解決。 我希望解決方案有效

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM