簡體   English   中英

無法從任務欄還原最小化的WinForms應用

[英]Can't restore minimized WinForms app from taskbar

我有一個非常奇怪的問題,在將標准WinForms C#應用程序最小化之后,或者如果在最大化模式下使用了另一個應用程序,有時無法從任務欄還原標准WinForms C#應用程序。

這在Windows Server 2012和Windows 10上會發生(我尚未在其他OS上進行過測試)。 如果鼠標懸停在我的應用程序任務欄圖標上,則會顯示我的應用程序的縮略圖視圖。 向上移動鼠標光標以將鼠標懸停在縮略圖上,該應用程序實際上會再次顯示在桌面上,但是如果我左鍵單擊縮略圖或將光標移出縮略圖,它將再次消失。 相反,如果我右鍵單擊縮略圖,則可以從彈出菜單中選擇“最大化”或“還原”,並且兩者均可按預期工作。 因此,該問題僅影響常規的左鍵單擊任務欄圖標或彈出縮略圖。

我正在為我的應用程序使用.NET Framework 4.6,該應用程序僅由具有默認屬性值的單個表單組成,並且沒有WndProc替代或其他奇特的東西。

我不知道如何調試此錯誤,而且該錯誤在100%的情況下都無法重現,因此非常歡迎提供有關如何捕獲並提供更多信息以幫助解決該問題的建議。

對我而言,問題是主窗口擁有的始終可見的無模式窗體。 顯然,當主窗口最小化時,無模形式也需要最小化。 WinForms不會自動為您執行此操作。 我必須訂閱主窗口的Resize事件,並在其中設置狀態:

private void MainWindow_OnResize(object sender, EventArgs e)
{
    modelessForm.WindowState = WindowState;
}

Windows 7僅在Windows 10上未遇到此問題。

暫無
暫無

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

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