Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20162|Отговор: 0

[Източник] {"Не може да се достъпи разпокъсан обект.\r\nИме на обект: 'Form1'."}.

[Копирай линк]
Публикувано в 12.06.2016 г. 16:28:41 ч. | | | |

Как да избегнете изключения при затваряне на форма, когато извиквате контрол между нишки, не може да достъпи разположените обекти.
При извикване на форма през нишки в нишка и при използване на invoke за прислушване на стойности или промяна на свойства на контролите на форма, ако нишката не бъде прекратена преди формата да бъде затворена, винаги ще се появи изключение като това: не може да се достъпи до disposed обект.
Причината трябва да е, че когато контролът на формуляра се извика в нишката, формулярът вече е излязъл, така че излиза от всички нишки преди да бъде излязъл. За да решите този проблем, можете да добавите следния код:


Вече няма да се появява изключението.
Извикването на system.environment.exit(0) може напълно да излезе от програмата, независимо коя нишка е принудена да затвори, завършвайки програмата много чисто.



FormClosing събитие

Когато формулярът е затворен, се случва събитието FormClosed. Това събитие е уредено. Това освобождава всички ресурси, свързани с формата.

Ако отмените това събитие, формулярът остава отворен.

Когато формата се появи като диалог на режим, натискането на Close скрива формата и задава свойството DialogResult на Cancel. Чрез задаване на свойството DialogResult в някои събития, стойността на DialogResult може да бъде презаписана, когато потребителят натисне бутона за затваряне в горния десен ъгъл.

FormClosed събитие

Събитие FormClosed настъпва след като методът Close или Exit на класа Application затваря формата.

Можете да използвате това събитие, за да освободите част от ресурсите на формата. Можете също да използвате това събитие, за да запазите информация във формата за въвеждане или да актуализирате родителската форма.





Предишен:C#/Winform версия 12306 вход, можете ръчно да кликнете кода за верификация на изображението
Следващ:C# сокет за получаване на IP адреса и порта на клиента
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com