Sie müssen den Thread starten, indem Sie Start
aufrufen.
Außerdem ist es wichtig zu beachten, dass MessageBox.Show
Nachrichten pumpt. Deshalb funktioniert es richtig ohne einen expliziten Aufruf an Application.Run
auf diesem Thread. Die meisten UI-Formulare und -Steuerelemente funktionieren jedoch nicht auf diese Weise. Versuchen Sie im Allgemeinen nicht, auf UI-Elemente eines Worker-Threads zuzugreifen oder diese zu erstellen.
A MessageBox
technisch von einem anderen Thread als dem Haupt UI Thread arbeiten kann, aber es kann einige seltsame Probleme verursachen. Beispielsweise könnte dieses Meldungsfeld hinter einem modalen Dialogfeld stecken, das vom UI-Thread angezeigt wird. Aus diesem Grund wird unter anderem empfohlen, keine UI-Elemente von einem Worker-Thread anzuzeigen, selbst wenn dies mit selbstpumpenden Anrufen wie Form.ShowDialog
oder MessageBox.Show
geschieht.
Sie verpassen den Aufruf zu "Start". Versuchen Sie, 'myThread.Start()' hinzuzufügen, nachdem Sie 'myThread' definiert haben. –
Sie versuchen, ein Meldungsfeld von einem Arbeitsthread anzuzeigen. UI-Elemente können nur im Hauptthread erstellt werden. –
Zum Erlernen von Threading in der .NET-Plattform empfehle ich dringend, dies durchzulesen: http://www.yoda.arachsys.com/csharp/threads/index.shtml –