«Проблема» заключается в том, что добавление строки в другую строку каждый раз приводит к появлению новой строки.
Это может быть довольно дорого, если вы делаете много конкатов.
На вашем месте я бы не входил напрямую в TextBox. Я бы просто отслеживал все сообщения журнала и использовал текстовое поле для визуализации журнала.
Таким образом, вы можете, например, выбрать сохранение журнала в текстовый файл или выбрать другой способ визуализации журнала.
Например, вы можете хранить сообщения в StringCollection
или List<String>
. Вместо того, чтобы визуализировать его в текстовом поле, вы можете использовать ListBox, например, и каждый раз, когда вы добавляете новый элемент в журнал, вы можете добавлять новый элемент в ListBox.
Но я хотел бы убедиться, что это не тесно связано.
Ваш класс журнала может инициировать событие, например, каждый раз, когда новое сообщение сохраняется в журнале.
После этого вы можете иметь разных «наблюдателей», которые следят за журналом, подписываясь на события и предпринимая соответствующие действия каждый раз, когда событие возникает.