我有一个适用于Windows 7的C#应用程序,但在Windows XP上无效。当我尝试关闭程序窗口时程序崩溃。关闭时窗口没有任何额外功能,父窗口不等待任何结果。
以下是例外:
System.InvalidOperationException:修改了集合;枚举操作可能无法执行 在System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource资源)
在System.Collections.Generic.List1.Enumerator.MoveNextRare()
1.Enumerator.MoveNext()
at System.Collections.Generic.List
在Microsoft.VisualBasic.PowerPacks.ShapeCollection.Dispose(布尔处理)
在Microsoft.VisualBasic.PowerPacks.ShapeContainer.Dispose(布尔处理)
在System.ComponentModel.Component.Dispose()
在System.Windows.Forms.Control.Dispose(布尔处理)
在System.Windows.Forms.Form.Dispose(布尔处理)
at DataManager.EmailSettingsForm.Dispose(布尔处理)在c:\ Users \ PC_Jeff_1 \ Desktop \ sensors_file1 \ DataManagerv3.1 \ EmailSettingsForm.Designer.cs:第24行
在System.Windows.Forms.Form.WmClose(Message& m)
在System.Windows.Forms.Form.WndProc(Message& m)
在System.Windows.Forms.Control.ControlNativeWindow.OnMessage(消息& m)
在System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息& m)
在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)
答案 0 :(得分:0)
我在处理中添加了try block,而且我已经没有这个问题,但我猜问题仍然存在。
阻止:
protected override void Dispose(bool disposing)`
{
try
{
if (disposing)
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}
catch
{
}
}