我有一个主窗体,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
关于编辑,位置相关的代码和堆栈跟踪将有所帮助 –