Windows XP的应用程序异常

时间:2013-08-29 17:03:09

标签: c# windows-7 windows-xp

我有一个适用于Windows 7的C#应用​​程序,但在Windows XP上无效。当我尝试关闭程序窗口时程序崩溃。关闭时窗口没有任何额外功能,父窗口不等待任何结果。

以下是例外:

  

System.InvalidOperationException:修改了集合;枚举操作可能无法执行   在System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource资源)
  在System.Collections.Generic.List 1.Enumerator.MoveNextRare()
at System.Collections.Generic.List
1.Enumerator.MoveNext()
  在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)

1 个答案:

答案 0 :(得分:0)

我在处理中添加了try block,而且我已经没有这个问题,但我猜问题仍然存在。

阻止:

    protected override void Dispose(bool disposing)`
    {
        try
        {
            if (disposing)
            {
                if (components != null)
                {
                    components.Dispose();
                }
            }
            base.Dispose(disposing);
        }
        catch
        {

        }
    }