Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20162|Odpowiedź: 0

[Źródło] {"Nie można uzyskać dostępu do obiektu odrzuconego do użytku.\r\nNazwa obiektu: 'Form1'."}.

[Skopiuj link]
Opublikowano 12.06.2016 16:28:41 | | | |

Jak uniknąć wyjątków przy zamykaniu formularza podczas wywoływania kontroli przez wątki, które nie mogą uzyskać dostępu do obiektów z likwidacji.
Podczas wywoływania formularza między wątkami w wątku oraz przy użyciu invoke do przypisywania wartości lub zmiany właściwości do kontroli formy, jeśli wątek nie zostanie zakończony przed zamknięciem formularza, zawsze pojawi się taki wyjątek: nie można uzyskać dostępu do obiektu usuniętego.
Powodem powinno być to, że gdy w wątku wywołana jest kontrola formularza, formularz został wylogowany, więc opuszcza wszystkie wątki zanim formularz zostanie wylogowany. Aby rozwiązać ten problem, możesz dodać następujący kod:


Nie pojawia się już wyjątek.
Wywołanie system.environment.exit(0) może całkowicie zakończyć program, niezależnie od wątku, który zostanie wymuszony do zakończenia, kończąc program bardzo czysto.



Wydarzenie zamknięcie formularza

Po zamknięciu formularza następuje zdarzenie FormClosing (Zamykanie formularza). To wydarzenie zostało załatwione. To uwalnia wszystkie zasoby związane z tym formularzem.

Jeśli anulujesz to wydarzenie, formularz pozostaje otwarty.

Gdy formularz pojawi się jako okno dialogowe trybu, kliknięcie Close ukrywa formularz i ustawia właściwość DialogResult na Cancel. Ustawiając właściwość DialogResult w niektórych zdarzeniach, wartość DialogResult może zostać nadpisana po kliknięciu przycisku Close w prawym górnym rogu.

FormClosed event

Zdarzenie FormClosed następuje po zamknięciu formularza metodą Close lub Exit przez użytkownika lub klasę aplikacji.

Możesz użyć tego wydarzenia, aby udostępnić część zasobów formularza. Możesz także użyć tego zdarzenia do zapisania informacji w formularzu wejściowym lub do aktualizacji formularza nadrzędnego.





Poprzedni:Zalogowanie do C#/Winform w wersji 12306, możesz ręcznie kliknąć kod weryfikacyjny obrazu
Następny:gniazdo C# do uzyskania adresu IP klienta i portu
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com