Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 17697|Răspunde: 0

[Sursă] Operația cross-thread nevalidă: Controlul 'txtresult' accesat de pe un threa...

[Copiază linkul]
Postat pe 14.12.2015 15:27:31 | | |

Când facem o aplicație de formular, uneori trebuie să obținem informații despre formularul curent sau să apelăm la controalele altor formulare.

Aici introduc două metode pentru a realiza acest lucru.


Când trebuie să apelăm controale din alte forme într-o formă, putem folosi controale. CheckForIllegaCrossThreadCalls=false;

De exemplu: Button.CheckForIllegalCrossThreadCalls=false;

Desigur, putem face și întregul formular încrucișat

Form.CheckForIllegalCrossThreadCalls=false;

Acest lucru ne permite să accesăm controalele sau proprietățile acestei forme în alte forme.

Aceasta poate să nu fie cea mai sigură metodă, iar uneori depanarea ne va da o eroare.


Aici voi introduce o altă metodă care poate fi accesată între fire.

Invoke sare pe firul de formulare pentru a executa funcția pe delegat


În primul rând, trebuie să declarăm o comisie.

public delegate void DelSetTime(object str);

Apoi trebuie doar să pregătim funcția care trebuie executată,

public void setTime(object str);

Acum putem pune delegatul pe firul formularului pentru a executa

Delegat d=nou DelsetTime(setTime);

Asta. Invocă(d,Date.Acum.ToString());

Astfel putem obține acces cross-threaded.


Fiecare formular are un fir de discuție, care este responsabil în principal pentru finalizarea desenului formularului și pentru controalele formularului

Acest fir îl numim firul formular sau firul principal.

De multe ori trebuie să adăugăm fire în formular pentru a procesa datele, iar apoi putem seta aceste fire nou create ca fire de fundal când formularul este închis

Firul de discuție se va încheia și el.

ThreadStart ths=new ThreadStart(Demo);

Thread th= thread nou(ths);

th. Start();

th. IsBackground=adevărat;


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






Precedent:Intrarea matricei de caractere din două cifre este sortată atunci când se realizează ieșirea
Următor:【Tutorialul seriei de dezvoltare iOS lansat vara】Tutorial pentru iPhone
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com