Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 17697|Antwoord: 0

[Bron] Crossthread-operatie niet geldig: Controle 'txtresult' geraadpleegd vanuit een threa...

[Link kopiëren]
Geplaatst op 14-12-2015 15:27:31 | | |

Wanneer we een formulieraanvraag indienen, moeten we soms informatie krijgen over het huidige formulier of de controles van andere formulieren aanroepen.

Hier introduceer ik twee methoden om dit te bereiken.


Wanneer we controles van andere vormen in een vorm moeten oproepen, kunnen we controles gebruiken. CheckForIllegaCrossThreadCalls=false;

Bijvoorbeeld: Button.CheckForIllegalCrossThreadCalls=false;

Natuurlijk kunnen we de hele vorm ook cross-threaded maken

Form.CheckForIllegalCrossThreadCalls=false;

Dit stelt ons in staat om de besturingselementen of eigenschappen van deze vorm in andere vormen te benaderen.

Dit is misschien niet de veiligste methode, en soms geeft debuggen een foutmelding.


Hier zal ik een andere methode introduceren die toegankelijk is over threads heen.

Invoke springt naar de formthread om de functie op de delegate uit te voeren


Eerst moeten we een commissie uitroepen.

publieke delegate ongeldig DelSetTime(object str);

Dan hoeven we alleen nog de functie voor te bereiden die uitgevoerd moet worden,

publieke leegte setTijd (object str);

Nu kunnen we de delegate op de thread van het formulier zetten om uit te voeren

Delegate d=nieuwe DelsetTime(setTime);

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

Op deze manier kunnen we cross-threaded toegang bereiken.


Elke vorm heeft een vormdraad, die voornamelijk verantwoordelijk is voor het voltooien van het tekenen van de vorm en de bekistingsbediening

Deze draad noemen we de vormdraad of de hoofddraad.

Vaak moeten we threads aan het formulier toevoegen om de data te verwerken, en dan kunnen we deze nieuw aangemaakte threads als achtergrondthreads instellen wanneer het formulier wordt gesloten

De draad zal ook eindigen.

ThreadStart ths=nieuwe ThreadStart(Demo);

Thread th= nieuwe Thread(s);

D. Start();

D. IsAchtergrond=waar;


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






Vorig:De invoer van de tweecijferige tekenarray wordt gesorteerd wanneer de uitvoer wordt gemaakt
Volgend:【iOS Development Series tutorial uitgebracht in de zomer】iPhone tutorial
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com