簡體   English   中英

通過任務欄還原窗口時,C#異常單擊

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

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