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). Какие-либо предложения?

0 ответов

Другие вопросы по тегам