Изначально вы могли просто визуализировать первые n символов, которые можно просмотреть в пользовательском интерфейсе (при условии, что у вас есть прокручиваемое текстовое поле). Затем запустите отдельный поток для асинхронной визуализации последовательных блоков.
Кроме того, вы можете объединить его с потоком ввода из файла. Прочитайте кусок и сразу добавьте его в текстовое поле. Пример (не полный, но вы поняли) ...
private void PopulateTextBoxWithFileContents(string path, TextBox textBox)
{
using (var fs = File.OpenRead(path))
{
using (var sr = new StreamReader(fs))
{
while (!sr.EndOfStream)
textBox.Text += sr.ReadLine();
sr.Close();
}
fs.Close();
}
}