Создать массив символов, длина которого составляет maxloglines * maxlogentrywidth .Инициализируйте его для всех пробелов, кроме новой строки каждые maxlogentrywidth символов.В вашем методе регистрации вы смещаете maxlogentrywidth * rowIndex и копируете N символов в строке, после чего копируете maxlogentrywidth-N пробелов после этого.Увеличение rowIndex на (rowIndex + 1)% maxlines .
Чтобы вывести одну строку для использования в окне, объедините две строки с помощью конструктора что позволяет вам индексировать в массив : new string(chararry, curpos, len) + new string(chararray, 0, curpos-1, chararray.Lengs - curpos)
, где curpos равно maxlogentrywidth * rowIndex .
Вам необходимо добавить соответствующую проверку ошибок ипотокобезопасность конечно.