Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 20162|Відповідь: 0

[Джерело] {"Неможливо отримати доступ до позбавленого об'єкта.\r\nІм'я об'єкта: 'Form1'."}.

[Копіювати посилання]
Опубліковано 12.06.2016 16:28:41 | | | |

Як уникнути винятків при закритті форми, коли виклик контролю між потоками не може отримати доступ до диспозиційних об'єктів.
При виклику форми між потоками в потоці та при використанні invoke для призначення значень або зміни властивостей контролю форми, якщо потік не завершено до закриття форми, завжди з'являється виняток: неможливо отримати доступ до диспозиційного об'єкта.
Причина має бути в тому, що коли в потоку викликається контроль форми, форма вже вийшла з акаунта, тому вона виходить з усіх потоків до того, як форма вийде. Щоб розв'язати цю проблему, можна додати наступний код:


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



FormClosing захід

Коли форма закрита, відбувається подія FormClosure. Ця подія вирішується. Це звільняє всі ресурси, пов'язані з формою.

Якщо ви скасуєте цю подію, форма залишається відкритою.

Коли форма з'являється як діалог режиму, натискання «Закрити» приховує форму і встановлює властивість DialogResult на Cancel. Встановлюючи властивості DialogResult у деяких подіях, значення DialogResult можна переписати, коли користувач натискає кнопку закриття у верхньому правому куті.

FormЗакритий захід

Подія FormClosed відбувається після того, як метод Close або Exit користувача або класу Application закриває форму.

Ви можете використати цю подію, щоб звільнити частину ресурсів форми. Цю подію також можна використати для збереження інформації у формі введення або для оновлення батьківської форми.





Попередній:Вхід у C#/Winform версії 12306, ви можете вручну натиснути код підтвердження зображення
Наступний:C# сокет, щоб отримати IP-адресу клієнта та порт
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com