我正在为更大的程序制作GUI。 为了包含Abort按钮,我不得不使用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循环)。 有什么建议吗?