Kuidas vältida erandeid vormi sulgemisel, kui juhtnupp üle lõimede ei pääse ligi, ei pääse ligi kõrvaldatud objektidele. Kui kutsutakse vormi lõimede vahel lõimes ja kui kasutatakse invoke'i vormikontrollide väärtuste määramiseks või omaduste muutmiseks, siis kui lõim ei ole lõpetatud enne vormi sulgemist, ilmub alati selline erand: ei pääse ligi kõrvaldatud objektile. Põhjus peaks olema see, et kui vormi kontroll kutsutakse lõime, on vorm välja logitud, seega väljub kõik lõimed enne vormi väljalogimist. Selle probleemi lahendamiseks saad lisada järgmise koodi:
Erandit enam ei ilmuta. Kutsudes system.environment.exit(0), saab programmist täielikult väljuda, ükskõik milline lõim on sunnitud lahkuma, lõpetades programmi väga puhtalt.
VormSulgemisüritus
Kui vorm suletakse, toimub FormClosing sündmus. See sündmus on korraldatud. See vabastab kõik vormiga seotud ressursid.
Kui sa selle ürituse tühistad, jääb vorm avatuks.
Kui vorm ilmub režiimi dialoogina, peidab Sulgemise klõpsamine vormi ja määrab DialogResult omaduseks Tühista. Mõnes sündmuses DialogResult omaduse määramisega saab DialogResult väärtuse üle kirjutada, kui kasutaja vajutab paremas ülanurgas asuvale sulgemisnupule.
FormClosed üritus
FormClosed sündmus toimub pärast seda, kui kasutaja või rakendusklassi Close või Exit meetod vormi sulgeb.
Seda sündmust saate kasutada mõningate vormi ressursside vabastamiseks. Seda sündmust saad kasutada ka info salvestamiseks sisendvormi või vanemvormi uuendamiseks.
|