Converter um dispatcher do WPF para o BGworkser do Winforms?
Recentemente adquiri alguns códigos-fonte para um wrapper de console para um servidor. O programa foi originalmente no WPF e parte do código era:
<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>
Também tem essa anotação em ambos os vazios:
// Você tem que fazer isso através do Dispatcher porque esse método é chamado por um Thread diferente
No entanto, no WinForms não existe tal coisa - existe uma maneira de mudar isso para um trabalhador de fundo ou algo assim (eu mal fiz qualquer multi-threading)?
Se alguém puder ajudar, ótimo!
Obrigado.