Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 20162|Svare: 0

[Kilde] {"Kan ikke få tilgang til et disponert objekt.\r\nObjektnavn: 'Form1'."}.

[Kopier lenke]
Publisert på 12.06.2016 16:28:41 | | | |

Hvordan unngå unntak når man lukker et skjema når man kaller en kontroll på tvers av tråder kan ikke få tilgang til kasserte objekter.
Når man kaller et skjema på tvers av tråder i en tråd, og når man bruker invoke for å tildele verdier eller endre egenskaper til formkontroller, hvis tråden ikke avsluttes før skjemaet lukkes, vil et slikt unntak alltid dukke opp: kan ikke få tilgang til et disponert objekt.
Årsaken bør være at når skjemakontrollen kalles i tråden, er skjemaet logget ut, så det forlater alle tråder før skjemaet logges ut. For å løse dette problemet kan du legge til følgende kode:


Unntaket vil ikke lenger dukke opp.
Å kalle system.environment.exit(0 kan avslutte programmet helt, uansett hvilken tråd som tvinges til å avslutte, og avslutte programmet veldig ryddig.



FormAvslutningsarrangement

Når skjemaet lukkes, oppstår FormClosering-hendelsen. Denne hendelsen er håndtert. Dette frigjør alle ressurser knyttet til skjemaet.

Hvis du avlyser dette arrangementet, forblir skjemaet åpent.

Når skjemaet vises som en modusdialog, skjuler trykket på Lukk skjemaet og setter egenskapen DialogResult til Avbryt. Ved å sette DialogResult-egenskapen i noen hendelser, kan verdien av DialogResult overstyres når brukeren klikker på lukkeknappen øverst til høyre.

FormClosed-arrangementet

En FormClosed-hendelse oppstår etter at Close- eller Exit-metoden til brukeren eller applikasjonsklassen lukker skjemaet.

Du kan bruke denne hendelsen til å frigjøre noen av skjemaets ressurser. Du kan også bruke denne hendelsen til å lagre informasjon i inndataskjemaet eller oppdatere foreldreskjemaet.





Foregående:C#/Winform versjon 12306-pålogging, du kan manuelt klikke på bildeverifiseringskoden
Neste:C#-socket for å hente klientens IP-adresse og port
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com