[英]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.