|
Når vi laver en formularansøgning, har vi nogle gange brug for information om den aktuelle formular eller kalde kontrollerne for andre formularer. Her introducerer jeg to metoder til at opnå dette.
Når vi skal kalde kontroller fra andre former i en formular, kan vi bruge kontroller. CheckForIllegaCrossThreadCalls=false; For eksempel: Button.CheckForIllegalCrossThreadCalls=false; Selvfølgelig kan vi også gøre hele formen krydstrådet Form.CheckForIllegalCrossCrossThreadCalls=false; Dette giver os adgang til kontrollerne eller egenskaberne ved denne form i andre former. Dette er måske ikke den sikreste metode, og nogle gange vil fejlfinding give os en fejl.
Her vil jeg introducere en anden metode, der kan tilgås på tværs af tråde. Invoke hopper ind på formtråden for at udføre funktionen på delegaten
Først skal vi erklære en kommission. offentlig delegeret ugyldig DelSetTime (objekt str); Så skal vi bare forberede den funktion, der skal udføres, public void setTime (objekt str); Nu kan vi placere delegaten på tråden i formularen for at udføre Delegat d=ny DelsetTime(setTime); dette. Invoke(d,Datetime.Now.ToString()); På denne måde kan vi opnå krydstrådet adgang.
Hver form har en formtråd, som hovedsageligt er ansvarlig for at færdiggøre tegningen af formen og formens kontroller Denne tråd kalder vi formtråden eller hovedtråden. Mange gange skal vi tilføje tråde til formularen for at behandle dataene, og så kan vi sætte disse nyoprettede tråde som baggrundstråde, når formularen lukkes Tråden vil også ende. ThreadStart ths=ny ThreadStart(Demo); Tråd th= ny tråd(er); Th. Start(); Th. IsBackground=true;
Oprindeligt: http://bingdao.sinaapp.com/net%E4%BD%93%E7%B3%BB/380.html
|