Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 17697|Antwort: 0

[Quelle] Cross-Thread-Operation nicht gültig: Kontrolle 'txtresult', abgerufen von einem Threa...

[Link kopieren]
Veröffentlicht am 14.12.2015 15:27:31 | | |

Wenn wir ein Formular beantragen, müssen wir manchmal Informationen über das aktuelle Formular erhalten oder die Kontrollen anderer Formulare aufrufen.

Hier stelle ich zwei Methoden vor, um dies zu erreichen.


Wenn wir Steuerungen aus anderen Formen in einer Form aufrufen müssen, können wir Steuerungen verwenden. CheckForIllegaCrossThreadCalls=false;

Zum Beispiel: Button.CheckForIllegalCrossThreadCalls=false;

Natürlich können wir das gesamte Formular auch querverzweigt machen

Form.CheckForIllegalCrossCrossThreadCalls=false;

Dies ermöglicht es uns, auf die Kontrollen oder Eigenschaften dieser Form in anderen Formen zuzugreifen.

Das ist vielleicht nicht die sicherste Methode, und manchmal führt das Debuggen zu einem Fehler.


Hier stelle ich eine weitere Methode vor, die über Threads hinweg zugänglich ist.

Invoke springt auf den Form-Thread, um die Funktion auf dem Delegierten auszuführen


Zuerst müssen wir eine Kommission ausrufen.

öffentlicher Delegierter ungültig DelSetTime (Objekt-Stärke);

Dann müssen wir nur noch die Funktion vorbereiten, die ausgeführt werden muss,

öffentliche leere MengeTime (Objekt-Stärke);

Jetzt können wir den Delegaten auf den Thread des Formulars setzen, um ausgeführt zu werden

Delegierter d=neuer DelsetTime(setTime);

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

So können wir Crossthread-Zugriff erreichen.


Jedes Formular besitzt einen Formfaden, der hauptsächlich für das Abschließen der Zeichnung der Form und der Formsteuerung verantwortlich ist.

Diesen Faden nennen wir Formfaden oder Hauptfaden.

Oft müssen wir Threads zum Formular hinzufügen, um die Daten zu verarbeiten, und dann können wir diese neu erstellten Threads als Hintergrundthreads setzen, wenn das Formular geschlossen wird

Der Faden endet ebenfalls.

ThreadStart ths=neuer ThreadStart(Demo);

Thread th= neuer Thread(ths);

D. Start();

D. IsHintergrund=wahr;


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






Vorhergehend:Die Eingabe des zweistelligen Zeichenarrays wird beim Ausführen der Ausgabe sortiert
Nächster:【iOS Development Series Tutorial veröffentlicht im Sommer】iPhone Tutorial
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com