dass alles in einem Thread läuft stimmt aber nicht ganz, der Serial Port erzeugt sein Event asynchron
textBox1.Invoke(new StringDelegate(DisplayString), port.ReadExisting());
nja du hast es ja auch geschickt verpackt, aber erklären sollte man es zwecks verständnis finde ich ^^
Widgets sind halt generell gesperrt gegen Thread-Fremde zugriffe ... und der Serial Port hat seinen eigenen Thread, die "DataReceived"-Methode wird von dem Thread aufgerufen
durch die Invoke-Methode (die man auch etwas ausführlicher schreiben kann und mit einer if-abfrage für die Prüfung der Notwendigkeit versehen kann) wird der Aufruf indirekt an den Thread des Objektes übergeben und in diesem Kontext ausgeführt, was legal ist!
Lesezeichen