Einen WPF-Dispatcher in Winforms BGworker konvertieren?
Ich habe kürzlich einen Quellcode für einen Konsolen-Wrapper für einen Server erhalten. Das Programm war ursprünglich in WPF und ein Teil des Codes war:
<code> private void ServerProc_ErrorDataReceived(object sender, DataReceivedEventArgs e) { Dispatcher.Invoke(new Action(() => { ConsoleTextBlock.Text += e.Data + "\r\n"; ConsoleScroll.ScrollToEnd(); })); } private void ServerProc_OutputDataReceived(object sender, DataReceivedEventArgs e) { Dispatcher.Invoke(new Action(() => { ConsoleTextBlock.Text += e.Data + "\r\n"; ConsoleScroll.ScrollToEnd(); ParseServerInput(e.Data); })); } </code>
Es hatte auch diese Anmerkung in beiden Lücken:
// Sie müssen dies über den Dispatcher tun, da diese Methode von einem anderen Thread aufgerufen wird
In WinForms gibt es so etwas jedoch nicht - gibt es eine Möglichkeit, dies in einen Hintergrund-Worker oder etwas anderes zu ändern (ich habe kaum Multithreading ausgeführt)?
Wenn jemand helfen könnte, wäre das großartig!
Vielen Dank.