Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 17697|Odgovoriti: 0

[Vir] Operacija med nitmi ni veljavna: Control 'txtresult' dostopan iz threa...

[Kopiraj povezavo]
Objavljeno na 14. 12. 2015 15:27:31 | | |

Ko ustvarjamo aplikacijo za obrazce, včasih potrebujemo informacije o trenutnem obrazcu ali pa pokličemo kontrole drugih obrazcev.

Tukaj predstavljam dve metodi za dosego tega.


Ko moramo klicati kontrole iz drugih oblik v obliki, lahko uporabimo kontrole. CheckForIllegaCrossThreadCalls=false;

Na primer: Button.CheckForIllegalCrossThreadCalls=false;

Seveda lahko celotno obliko naredimo tudi navzkrižno navojno

Form.CheckForIllegalCrossThreadCalls=false;

To nam omogoča dostop do kontrol ali lastnosti te oblike v drugih oblikah.

To morda ni najvarnejša metoda, včasih pa razhroščevanje povzroči napako.


Tukaj bom predstavil še eno metodo, do katere je mogoče dostopati med različnimi nitmi.

Klic skoči na nit obrazca, da izvede funkcijo na delegatu


Najprej moramo razglasiti komisijo.

public delegate void DelSetTime(object str);

Nato moramo le še pripraviti funkcijo, ki jo je treba zagnati,

public void setTime(object str);

Zdaj lahko delegata postavimo na nit oblike za izvedbo

Delegat d=novi DelsetTime(setTime);

to. Invoke(d,Datetime.Now.ToString());

Na ta način lahko dosežemo cross-threaded dostop.


Vsak obrazec ima nit obrazca, ki je predvsem odgovorna za dokončanje risbe obrazca in za nadzor obrazca

To nit imenujemo oblikovna nit ali glavna nit.

Velikokrat moramo v obrazec dodati niti za obdelavo podatkov, nato pa lahko te novo ustvarjene niti nastavimo kot ozadne niti, ko je obrazec zaprt

Tudi tema se bo končala.

ThreadStart ths=novi ThreadStart(Demo);

Nit th= nova nit(ths);

th. Start();

th. IsBackground=res;


Izvirnik: http://bingdao.sinaapp.com/net%E4%BD%93%E7%B3%BB/380.html     






Prejšnji:Vhod dvomestne znakovne matrike se razvrsti, ko je izhod narejen
Naslednji:【iOS razvojna serija vodičev, izdana poleti】iPhone Tutorial
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com