Ручка выдает исключение Disposed

С# WinForms: когда я открываю свою форму в первый раз, frm1.Hanlde в порядке, но когда я закрываю свою форму и открываю ее снова, значение для дескриптора вызывает исключение System.ObjectDisposedException.... что я делаю следует рассмотреть для отладки и исправления?


person Bohn    schedule 03.11.2010    source источник
comment
извините, забыл упомянуть: С# Win Forms   -  person Bohn    schedule 03.11.2010


Ответы (2)


Вы не можете закрыть форму и снова открыть ее.

Однако вы можете скрыть его, а затем снова показать.

Но как только вы закрываете форму, она утилизируется, поэтому любые попытки ее повторного открытия дадут вам такие проблемы, правильно.

Что ты пытаешься сделать?

person Lasse V. Karlsen    schedule 03.11.2010
comment
хм, хорошо, я попробую скрыть .... Я передаю дескриптор этой формы не-.NET OCX contorl ... в первый раз все в порядке, во второй раз возникает проблема, о которой я упоминал в вопросе - person Bohn; 03.11.2010
comment
Неважно, что вы делаете с формой, как только вы ее закрыли, вы должны прекратить ее использовать, поэтому не закрывайте ее. Либо так, либо вам придется создавать новый экземпляр формы и использовать его вместо этого каждый раз. - person Lasse V. Karlsen; 03.11.2010

Кроме того, имейте в виду, что когда вы сворачиваете окно, это окно получает новый дескриптор. Если ваш элемент управления ocx, отличный от .NET, ссылается на старый дескриптор, произойдет сбой.

person James King    schedule 04.11.2010