반응형
일반적인 터미널을 보게되면, 버퍼가 가득차면 오래된 로그부터 사라집니다.
c#에서도 터미널처럼 제일 오래된 라인부터 없애고 텍스트 박스의 텍스트를
일정 라인수만큼 유지할 수 있습니다.
int maxline = 10000;
if (messageRich.Lines.Length > maxline)
{
messageRich.Select(0, messageRich.GetFirstCharIndexFromLine(messageRich.Lines.Length - maxline));
messageRich.SelectedText = "";
messageRich.AppendText("\n");
}
else
{
messageRich.AppendText("\n");
}
messageRich.ScrollToCaret();
messageRich가 RichTextBox입니다.
Line 1의 maxline은 최대 표시할 라인수입니다.
Line 2~Line 5 : 이부분이 실질적으로 라인을 유지시켜주고, 초과된 앞 라인을 없애주는 부분입니다.
원리는 초과된 라인을 다 ""로 글자를 없애버립니다.
Line 6 : 줄바꿈을 하는 이유는 만약 뿌려주는 글자가 색이 있는 경우 저런식으로 줄바꿈을 해줘야
원래 지정해 놓은 색이 그대로 출력됩니다.
만약 안하면 검은색으로 나오게 됩니다.
scrolltocaret은 스크롤을 제일 밑으로 내려오게 합니다.
반응형
'Study > C#(Window programming)' 카테고리의 다른 글
PCAN USB 데이터 가져와서 뿌리기 예제 (3) | 2021.10.27 |
---|---|
PCAN USB 연결/해제 하기 (1) | 2021.09.02 |
text 창 text 다양한 color 나오게 하기 (0) | 2020.08.15 |
DB연동하기(MySQL에 기록 저장하기) (0) | 2015.09.02 |
C# 기초(MonthCalendar와 DateTimePicker) (0) | 2015.07.27 |