Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 17697|Risposta: 0

[Fonte] Operazione cross-thread non valida: controllo 'txtresult' accessibile da un threa...

[Copiato link]
Pubblicato su 14/12/2015 15:27:31 | | |

Quando facciamo una domanda di modulo, a volte dobbiamo ottenere informazioni sul modulo corrente o chiamare i controlli di altri moduli.

Qui introduco due metodi per raggiungere questo obiettivo.


Quando dobbiamo chiamare controlli da altri moduli in un modulo, possiamo usare controlli. CheckForIllegaCrossThreadCalls=false;

Ad esempio: Button.CheckForIllegalCrossThreadCalls=false;

Naturalmente, possiamo anche rendere l'intera forma incrociata

Form.CheckForIllegalCrossThreadCalls=false;

Questo ci permette di accedere ai controlli o alle proprietà di questa forma in altre forme.

Questo potrebbe non essere il metodo più sicuro, e a volte il debug ci dà un errore.


Qui presenterò un altro metodo accessibile tra i thread.

Invoke salta sul thread del modulo per eseguire la funzione sul delegato


Prima di tutto, dobbiamo dichiarare una commissione.

delegato pubblico void DelSetTime(oggetto str);

Poi dobbiamo solo preparare la funzione che deve essere eseguita,

empty pubblico setTime(object str);

Ora possiamo mettere il delegato sul thread del modulo per eseguire

Delegato d=nuovo DelsetTime(setTime);

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

In questo modo possiamo ottenere accesso cross-thread.


Ogni modulo ha un thread del modulo, che è principalmente responsabile del disegno del modulo e dei controlli del modulo

Questo thread lo chiamiamo thread form o thread principale.

Molte volte dobbiamo aggiungere thread al modulo per elaborare i dati, e poi possiamo impostare questi nuovi thread come thread di background quando il modulo è chiuso

Anche il thread finirà.

ThreadStart ths=nuovo ThreadStart(Demo);

Thread th= nuovo Thread(ths);

th. Start();

th. IsBackground=vero;


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






Precedente:L'ingresso dell'array di caratteri a due cifre viene ordinato quando viene effettuato l'output
Prossimo:【Tutorial della serie di sviluppo iOS rilasciato in estate】Tutorial per iPhone
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com