2013-08-29 4 views
0

У меня есть приложение C#, которое работает в Windows 7, но не работает в Windows XP. Программа срабатывает, когда я пытаюсь закрыть окно программы. Окно не имеет каких-либо дополнительных функций при закрытии, а родительское окно не ждет каких-либо результатов.Исключение приложения с окнами 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 (Boolean выбывает)
в Microsoft .VisualBasic.PowerPacks.ShapeContainer.Dispose (булево утилизации)
на System.ComponentModel.Component.Dispose()
в System.Windows.Forms.Control.Dispose (Boolean утилизации)
в System.Windows.Forms.Form .Dispose (Boolean disposing)
в DataManager.EmailSetting sForm.Dispose (Boolean утилизации) в C: \ Users \ PC_Jeff_1 \ Desktop \ sensors_file1 \ DataManagerv3.1 \ EmailSettingsForm.Designer.cs: линия 24
в System.Windows.Forms.Form.WmClose (Message & м)
на System.Windows.Forms.Form.WndProc (сообщение & м)
на System.Windows.Forms.Control.ControlNativeWindow.OnMessage (сообщение & м)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc (Message & м)
на System.Windows.Forms.NativeWindow.Callback (IntPtr HWND, Int32 тзд, IntPtr WPARAM, IntPtr LPARAM)

+0

Можете ли вы переформатировать эту стену случайного текста? – chrylis

+2

Пожалуйста, включите код в '' Dispose (bool disposing) 'в' c: \ Users \ PC_Jeff_1 \ Desktop \ sensors_file1 \ DataManagerv3.1 \ EmailSettingsForm.Designer.cs' –

+0

'protected override void Dispose (bool disposing) { если (распоряжение) { если (компоненты! = Null) { components.Dispose(); } } base.Dispose (распоряжение); } ' –

ответ

0

Я добавил блок try в dispose и у вас больше нет этой проблемы, но, я думаю, проблема все еще здесь.

Блок:

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

     } 
    } 
Смежные вопросы