Hola,
Segun, lo que te entendi y lo que he usado
NO debes tratar de deshacerte del BackgroundWorker, yo tambien lo e usado y para poder asignar el texto a tu TextBox dentro del While debes hacer mas o menos esto:
1. Creas un delegado
Código C#:
Ver originaldelegate void SetTextCallback(string text);
2. Creas el metodo que asigna el texto a tu TextBox
Código C#:
Ver originalprivate void SetText(string mytexto)
{
// InvokeRequired required compares the thread ID of the
// calling thread to the thread ID of the creating thread.
// If these threads are different, it returns true.
if (this.InvokeRequired)
{
SetTextCallback d = new SetTextCallback(SetText);
this.Invoke(d, new object[] { mytexto});
}
else
{
TuTextBox.Text = mytexto;
}
}
3. En el evento ......
_DoWork del BackGroundBroker que es donde me imagino que tenes el
while debes hacer el llamado al metodo enviando el texto que quieres asignar.
Pruebalo y me comentas como te fue.
Saludos