, nogle egenskaber, er kun gyldige i forhold til andre egenskaber.i initialization er det logisk at give ugyldig egenskaber.er det sådan, at kontrollere, om deres kontrol bliver igangsat. tag for eksempel en kontrol, som minimum, maksimum og værdi egenskaber . logik, at minimum må ikke være større end den maksimale, og denne værdi skal være inden for rækkevidde minimum... maksimum.hvis der er gjort forsøg på at fastsætte en ejendom til en ulogisk værdi, du måske ønsker at gøre en undtagelse. problemet er, at som en bestanddel, forfatter, du har ingen kontrol over for brugeren, som fastsætter /ændringer egenskaber, og som kan ende med en initialization sektion, der ser sådan ud:, mycontrol1.value = 1000;, mycontrol1.maximum = 2000, mycontrol1.minimum = 500; hvis de standardværdier for kontrol, er minimum = 0, maksimum = 10, værdi = 0, så er det helt indlysende, at den første linje, som fastsætter værdien 1000 vil forårsage en fejl.,,, til at løse dette problem, kan du bruge den isupportinitialize grænseflade.for eksempel..., offentlige mycontrol: kontrol, isupportinitialize, {, boolean isinitializing = falske, int32 minimum = 0, int32 værdi = 0, int32 maksimale = 10, tomrum isupportinitialize. begininit(), {, isinitializing = sandt, }, isupportinitialize endinit() ugyldig., {, isinitializing = falske, }, offentlige int32 minimum, {, kom {tilbage mindst}, , {, hvis (!isinitializing), {, gøre deres validering, }, minimum = værdi, }, }},. netto ramme vil undersøge hver komponent for isupportinitialize inden for dets egenskaber, og hvis støttet, vil udføre følgende komponent. begininit();... sæt egenskaber af komponent. komponent. endinit();,
påvisning af, hvis deres kontrol er skabt
Previous:ved anvendelse version
Next Page:at se en modig søfarer med tbuttons