当窗体最小化时,引发了下面的异常。经过分析,
System.ArgumentException: “0”的值对于“emSize”无效。“emSize”应该大于 0 且小于或等于 System.Single.MaxValue。
参数名: emSize
newx = (float)width / 369;
newy = (float)height / 218;
需要加上 float 转换的问题
当窗体最小化时,引发了窗体的SizeChanged事件,即
private void BrowseDeviceForm_SizeChanged(object sender, EventArgs e)
在事件中添加判断是否为最小化窗体的大小改变引发的语句,如下
bool bFormMinimized = false; protected override void OnSizeChanged(EventArgs e) { base.OnSizeChanged(e); //目的:为了解决当前窗体最小化时出现的[System.ArgumentException: “0”的值对于“emSize”无效。“emSize”应该大于 0 且小]的异常错误 if (!bFormMinimized) { if (dicControlsAttribute.Count > 0) { ChangeControlsInitiate(this.Controls[0]); ChangeCurrentControlAttr(this.splitContainer2.Panel2); //dOldPanelWidth = this.splitContainer2.Panel2.Width; //dOldPanelHeight = this.splitContainer2.Panel2.Height; } } } private void BrowseDeviceForm_SizeChanged(object sender, EventArgs e) { //目的:为了解决当前窗体最小化时出现的[System.ArgumentException: “0”的值对于“emSize”无效。“emSize”应该大于 0 且小]的异常错误 if (this.WindowState == FormWindowState.Minimized) { bFormMinimized = true; //MessageBox.Show("最小化了"); } }