我有一個主窗體,frmMain
。一切都很好,但每當我最小化這個窗口,然後點擊任務欄恢復它,引發異常。C#異常當窗口通過任務欄恢復點擊
例外:
矩形 '{X = 0,Y = 0,寬度= 0,高度= 0}' 不能有寬度或高度 等於0
是在Program.cs
在線
Application.Run(new frmMain());
拋出在C#即時通訊新我不是能解決這個問題。任何幫助,高度讚賞。
編輯 我還沒有使用自定義的畫,也沒有用到任何處理窗口的高度或寬度編程
感謝
我有一個主窗體,frmMain
。一切都很好,但每當我最小化這個窗口,然後點擊任務欄恢復它,引發異常。C#異常當窗口通過任務欄恢復點擊
例外:
矩形 '{X = 0,Y = 0,寬度= 0,高度= 0}' 不能有寬度或高度 等於0
是在Program.cs
在線
Application.Run(new frmMain());
拋出在C#即時通訊新我不是能解決這個問題。任何幫助,高度讚賞。
編輯 我還沒有使用自定義的畫,也沒有用到任何處理窗口的高度或寬度編程
感謝
相信您存儲形式位置的地方,以便再次運行時可以恢復你的位置。存儲在FormClosing
事件並只讀一次。
我假設你使用自定義繪畫,它使用某種LinearGradientBrush
或類似的東西。這將引發ArgumentException
說
矩形 '{X = 0,Y = 0,寬度= 0,高度= 0}' 不能有寬度或高度 等於0
例如以下代碼將重現該問題。
Rectangle r = new Rectangle(0, 0, 0, 0);
var b = new System.Drawing.Drawing2D.LinearGradientBrush(r, Color.AliceBlue, Color.AntiqueWhite, 90);
所以,你需要確保你的矩形的Size
不爲空(即高度和寬度不等於零)。
爲了避免進一步的注意,思考會有幫助,如果有人找到這篇文章。
罪魁禍首是自定義控制,其中有碼頭屬性「填充」。我刪除了這個控件,而是使用了另一個默認控件,問題就沒有了。
謝謝大家的幫助。
你可以發佈堆棧跟蹤嗎? –
您的表單中是否有處理Rectangle類的自定義代碼? – Luaan
關於編輯,位置相關的代碼和堆棧跟蹤將有所幫助 –