2013-11-28 30 views
0

我有一個主窗體,frmMain。一切都很好,但每當我最小化這個窗口,然後點擊任務欄恢復它,引發異常。C#異常當窗口通過任務欄恢復點擊

例外:

矩形 '{X = 0,Y = 0,寬度= 0,高度= 0}' 不能有寬度或高度 等於0

是在Program.cs在線

Application.Run(new frmMain()); 

拋出在C#即時通訊新我不是能解決這個問題。任何幫助,高度讚賞。

編輯 我還沒有使用自定義的畫,也沒有用到任何處理窗口的高度或寬度編程

感謝

+0

你可以發佈堆棧跟蹤嗎? –

+0

您的表單中是否有處理Rectangle類的自定義代碼? – Luaan

+0

關於編輯,位置相關的代碼和堆棧跟蹤將有所幫助 –

回答

0

相信您存儲形式位置的地方,以便再次運行時可以恢復你的位置。存儲在FormClosing事件並只讀一次。

3

我假設你使用自定義繪畫,它使用某種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不爲空(即高度和寬度不等於零)。

0

爲了避免進一步的注意,思考會有幫助,如果有人找到這篇文章。

罪魁禍首是自定義控制,其中有碼頭屬性「填充」。我刪除了這個控件,而是使用了另一個默認控件,問題就沒有了。

謝謝大家的幫助。