프로그램(C# etc.)
richTextBox1 출력하고 제일 하단으로 내리는 코드
질문폭격
2023. 1. 12. 16:15
다음은 "richTextBox1"이라는 이름의 RichTextBox 컨트롤에 텍스트를 쓴 다음 컨트롤 하단으로 스크롤하는 예입니다:
private void writeToRichTextBox(string text)
{
if (richTextBox1.InvokeRequired)
{
richTextBox1.Invoke((MethodInvoker)delegate
{
richTextBox1.AppendText(text + Environment.NewLine);
richTextBox1.SelectionStart = richTextBox1.Text.Length;
richTextBox1.ScrollToCaret();
});
}
else
{
richTextBox1.AppendText(text + Environment.NewLine);
richTextBox1.SelectionStart = richTextBox1.Text.Length;
richTextBox1.ScrollToCaret();
}
}
InvokeRequired 검사는 메서드가 올바른 스레드(이 경우 RichTextBox 컨트롤을 만든 스레드)에서 호출되는지 확인하는 데 필요합니다. InvokeRequired가 true를 반환하는 경우 다른 스레드에서 Invoke 메서드를 사용하여 RichTextBox를 업데이트하는 대리자를 호출해야 합니다. false가 반환되면 우리는 같은 스레드에 있으며 안전하게 컨트롤을 업데이트할 수 있습니다.
AppendText 메서드는 함수에 전달된 텍스트를 RichTextBox 끝에 추가하는 데 사용됩니다. SelectionStart 속성은 리치 텍스트 상자의 텍스트 끝으로 설정됩니다. 마지막으로 ScrollToCaret는 자동으로 텍스트 끝으로 스크롤하여 가장 최근의 텍스트를 볼 수 있도록 하는 데 사용됩니다.