Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 17697|Odpověď: 0

[Zdroj] Operace přes vlákna není platná: Control 'txtresult' přístupný z threa...

[Kopírovat odkaz]
Zveřejněno 14.12.2015 15:27:31 | | |

Když vytváříme formulářovou aplikaci, někdy potřebujeme získat informace o aktuálním formuláři nebo zavolat ovládací prvky jiných formulářů.

Zde představuji dvě metody, jak toho dosáhnout.


Když potřebujeme volat ovládací prvky z jiných forem ve formuláři, můžeme použít ovládací prvky. CheckForIllegaCrossThreadCalls=false;

Například: Button.CheckForIllegalCrossThreadCalls=false;

Samozřejmě můžeme také udělat celý formulář křížově propletený

Form.CheckForIllegalCrossThreadCalls=false;

To nám umožňuje přistupovat k ovládacím prvkům nebo vlastnostem této formy v jiných formách.

To nemusí být nejbezpečnější metoda a někdy ladění způsobí chybu.


Zde představím další metodu, ke které lze přistupovat napříč vlákny.

Volání skočí na vlákno formuláře, aby vykonalo funkci na delegátu


Nejprve musíme vyhlásit komisi.

public delegate void DelSetTime(object str);

Pak už jen musíme připravit funkci, kterou je třeba spustit,

veřejná prázdnota setTime(objekt str);

Nyní můžeme delegáta umístit na vlákno ve tvaru pro vykonání

Delegát d=nový DelsetTime(setTime);

Přesně tak. Invoke(d,Datetime.Now.ToString());

Tímto způsobem můžeme dosáhnout cross-threaded přístupu.


Každý formulář má vlákno formuláře, které je hlavně zodpovědné za dokončení vykreslení formuláře a ovládání formuláře

Toto vlákno nazýváme vlákno formy, tedy hlavní vlákno.

Často musíme do formuláře přidat vlákna, aby data zpracovala, a pak můžeme tato nově vytvořená vlákna nastavit jako pozadí, když je formulář uzavřen

Vlákno také skončí.

ThreadStart ths=nový ThreadStart(Demo);

Vlákno th= nové Vlákno(ths);

th. Start();

th. IsBackground=true;


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






Předchozí:Vstup dvoumístného znakového pole je seřazen při výstupu
Další:【Návod na vývoj iOS vydaný v létě】Návod na iPhone
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com