2013-08-29 81 views
0

應用例外,我有一個C#應用程序,它可以在Windows 7,但在Windows XP不起作用。當我嘗試關閉程序窗口時程序崩潰。該窗口在關閉時沒有任何額外的功能,並且父窗口沒有等待任何結果。與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(布爾處置)
微軟.VisualBasic.PowerPacks.ShapeContainer.Dispose(布爾處置)
在System.ComponentModel.Component.Dispose()
在System.Windows.Forms.Control.Dispose(布爾處置)
在System.Windows.Forms.Form中.Dispose(布爾處理)
at DataManager.EmailSetting sForm.Dispose(布爾處置)在C:\ Users \用戶PC_Jeff_1 \桌面\ sensors_file1 \ DataManagerv3.1 \ EmailSettingsForm.Designer.cs:管線24
在System.Windows.Forms.Form.WmClose(消息&米)
在System.Windows.Forms.Form.WndProc(消息&米)
在System.Windows.Forms.Control.ControlNativeWindow.OnMessage(消息&米)
在System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)

+0

能否請您重新隨機文本的那面牆? – chrylis

+2

請在'c:\ Users \ PC_Jeff_1 \ Desktop \ sensors_file1 \ DataManagerv3.1 \ EmailSettingsForm.Designer.cs'中的'Dispose(bool disposing)'方法中包含代碼' –

+0

'protected override void Dispose(bool disposing) { 如果(處置) { 如果(組分!= NULL){ components.Dispose(); } } base.Dispose(處置); }' –

回答

0

我已經添加try塊中部署和a'm沒有這個問題了,而是我想問題還是在這裏。

塊:

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

     } 
    }