C# запись в текстовое поле (которое является выходом консоли) от Backgroundworker
Я делаю графический интерфейс для большей программы. Чтобы включить кнопку "Прервать", мне пришлось использовать Backgroundworker.
void _oWorker_DoWork(object sender, DoWorkEventArgs e)
{
try
{
Starter.Handling(cBLog, cBSelC, cBSelT);
if (_oWorker.CancellationPending)
{
e.Cancel = true;
return;
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message,"Exception Caught:");
}
}
Однако теперь я натолкнулся на более серьезную проблему, не имея возможности получить доступ к текстовому полю, которое загружается следующим образом:
private void Form1_Load(object sender, EventArgs e)
{
// Instantiate the writer
_writer = new TextBoxStreamWriter(txtConsole);
// Redirect the out Console stream
Console.SetOut(_writer);
}
Проблема в том, что TextBox должен оставаться на выходе консоли, так как я не хочу менять подпрограммы (которые также содержат циклы while). Какие-либо предложения?