private void bwTextToConsole_doWork(object sender, DoWorkEventArgs e)
{
for (; ; )
{
Thread.Sleep(2);
if (stop_bwTextToConsole)
break;
// StringBuilder isn't threadsafe, so we use a lock here to prevent Exceptions
//
lock (tempOutput)
{
tbConsole.Invoke((MethodInvoker)delegate
{
if (tbConsole.TextLength > 50000)
{
Console.WriteLine("Resetting Console Content");
tbConsole.Text = tbConsole.Text.Substring(45000);
}
tbConsole.AppendText(tempOutput.ToString());
tempOutput.Clear();
tbConsole.SelectionStart = tbConsole.TextLength;
tbConsole.ScrollToCaret();
});
}
}
}