2016-01-04 5 views
0

Мне интересно, есть ли у меня возможность автоматически удалять winforms. Мой проект массивный, около 6 форм. У меня были всевозможные ошибки, и все они приводят к тому, что я не уничтожаю объекты GDI +. Я добавил строку Dispose() ко всем моим событиям формообразования. Если нет способа автоматического удаления форм, есть ли другой способ остановить эти ошибки.Как легко распоряжаться формами

Все ошибки, которые я имел до сих пор являются

  • Параметр не действует
  • переполнение стека
  • Невозможно создать оконную ручку

Есть, вероятно, больше, что я не» Не помните, пожалуйста, закончите этот кошмар в этом месяце.

EDIT

Последняя ошибка появляется в детской форме Form1 в конструкторе ребенка. На первой линии, он бросает создание окна

Ошибка ручка

Трассировка стека просто

System.Windows.Forms.NativeWindow.Create(Parameters tp) 
+0

это может помочь как-то http://blogs.msdn.com/b/jfoscoding/archive/2005/08/12/450835.aspx –

+0

положить его в блок 'using'? –

+0

Вы создаете свои собственные объекты GDI +? в этом случае вам нужно явно их распоряжаться – slawekwin

ответ

1

Обычно закрытие формы, нажав на кнопку X следует расположить объект формы вдоль со всем его дочерним объектом, так как форма является родительским контейнером, и поэтому, когда он вызывается, он, в свою очередь, вызовет все его дочерние объекты.

Но это зависит от того, что вы делаете именно в своем закрытии формы. Я видел много людей this.hide() на FormClosing события. Это означает, что вы фактически не закрываете/не удаляете формы.

+0

Я не скрываю их, единственное, что есть Dispose(). –

+0

Тогда все должно быть хорошо. Если ошибка/исключение все еще происходит после трассировки стека. – Rahul

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

  • Нет связанных вопросов^_^