[英]C# Exception when window restored via taskbar click
我有一個主要形式, frmMain
。 一切都很好,但是只要我最小化此窗口,然后單擊任務欄上的還原它,就會引發異常。
例外:
矩形'{X = 0,Y = 0,Width = 0,Height = 0}'的寬度或高度不能等於0。
被拋出在Program.cs
上
Application.Run(new frmMain());
作為C#中的新手,我無法解決此問題。 非常感謝您的幫助。
編輯我沒有使用自定義繪畫,也沒有使用任何東西來以編程方式處理窗口的高度或寬度
謝謝
我假設您正在使用自定義繪畫,該繪畫使用了某種LinearGradientBrush
或類似的東西。 那會拋出ArgumentException
說
矩形'{X = 0,Y = 0,Width = 0,Height = 0}'的寬度或高度不能等於0。
例如,以下代碼將重現該問題。
Rectangle r = new Rectangle(0, 0, 0, 0);
var b = new System.Drawing.Drawing2D.LinearGradientBrush(r, Color.AliceBlue, Color.AntiqueWhite, 90);
因此,您需要確保矩形的Size
不為空(即,高度和寬度不等於零)。
我相信您將表格位置存儲在某個位置,因此當再次運行時,您可以恢復您的位置。 存儲在FormClosing
事件上,並且僅讀取一次。
避免進一步的關注,如果有人找到這篇文章,思考會有所幫助。
罪魁禍首是自定義控件,該控件具有要填充的碼頭屬性。 我刪除了此控件,而是使用了另一個默認控件,問題不再存在。
謝謝大家的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.