Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20162|Svar: 0

[Källa] {"Kan inte komma åt ett kasserat objekt.\r\nObjekt namn: 'Form1'."}.

[Kopiera länk]
Publicerad på 2016-06-12 16:28:41 | | | |

Hur man undviker undantag när man stänger ett formulär och anropar en kontroll över trådar kan inte komma åt kasserade objekt.
När man anropar ett formulär mellan trådar i en tråd, och när man använder invoke för att tilldela värden eller ändra egenskaper till formulärkontroller, om tråden inte avslutas innan formuläret stängs, kommer ett undantag som detta alltid att dyka upp: kan inte komma åt ett bortkastat objekt.
Anledningen bör vara att när formulärkontrollen anropas i tråden har formuläret loggats ut, så det lämnar alla trådar innan formuläret är utloggat. För att lösa detta problem kan du lägga till följande kod:


undantaget kommer inte längre att dyka upp.
Att anropa system.environment.exit(0 kan helt avsluta programmet, oavsett vilken tråd som tvingas avsluta, vilket avslutar programmet mycket rent.



FormAvslutningsevent

När formuläret stängs sker FormClosenting-händelsen. Detta evenemang hanteras. Detta frigör alla resurser relaterade till formuläret.

Om du avbokar detta evenemang förblir formuläret öppet.

När formuläret visas som en lägesdialog, döljer ett klick på Stäng formuläret och sätter egenskapen DialogResult på Avbryt. Genom att sätta egenskapen DialogResult i vissa händelser kan värdet på DialogResult åsidosättas när användaren klickar på stängknappen uppe i högra hörnet.

FormClosed-evenemanget

En FormClosed-händelse inträffar efter att användarens eller applikationsklassens Close- eller Exit-metoden stänger formuläret.

Du kan använda detta evenemang för att släppa några av formulärets resurser. Du kan också använda denna händelse för att spara viss information i inmatningsformuläret eller för att uppdatera föräldraformuläret.





Föregående:C#/Winform version 12306 inloggning, du kan manuellt klicka på bildverifieringskoden
Nästa:C#-socket för att få klientens IP-adress och port
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com