我有一个主要表单frmMain
。一切都很好,但每当我最小化这个窗口,然后单击任务栏恢复它时,就会抛出异常。
例外:
矩形'{X = 0,Y = 0,宽度= 0,高度= 0}'不能有宽度或高度 等于0。
在Program.cs
行
Application.Run(new frmMain());
我是C#的新手,我无法解决这个问题。任何帮助都非常感谢。
修改 我没有使用自定义绘画,也没有用任何东西以编程方式处理窗口高度或宽度
由于
答案 0 :(得分: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
不为空(即高度和宽度不等于零)。
答案 1 :(得分:0)
我相信你将表格位置保存在某处,所以当再次跑步时你可以恢复你的位置。存储在FormClosing
事件中,只读一次。
答案 2 :(得分:0)
为了避免进一步关注,如果有人找到这篇文章,那么思考就会有所帮助。
罪魁祸首是自定义控制,它具有“填充”的停靠属性。我删除了这个控件,而是使用了另一个默认控件,问题就消失了。
感谢大家的帮助。