IT TIP

RichTextBox를 맨 아래로 스크롤하려면 어떻게합니까?

itqueen 2020. 10. 26. 21:36
반응형

RichTextBox를 맨 아래로 스크롤하려면 어떻게합니까?


텍스트를 추가하지 않더라도 RichTextBox를 맨 아래로 스크롤 할 수 있어야합니다. 텍스트를 추가 한 다음이를 사용하여 선택 시작을 설정할 수 있다는 것을 알고 있습니다. 그러나 시각적 인 이유로 하단에 있는지 확인하고 싶으므로 텍스트를 추가하지 않습니다.


SelectionStart 속성을 텍스트 길이로 설정 한 다음 ScrollToCaret 메서드를 호출 할 수 있습니다.

richTextBox.SelectionStart = richTextBox.Text.Length;
richTextBox.ScrollToCaret();

RichTextBox포커스가있는 경우 끝으로 스크롤하고 사용 유지됩니다 AppendText정보를 추가 할 수 있습니다. HideSelectionfalse로 설정 하면 포커스를 잃을 때 선택을 유지하고 자동 스크롤 상태를 유지합니다.

아래 방법을 사용하여 로그 뷰어 GUI를 설계했습니다. 그것은 전체 코어를 유지하는 데 사용되었습니다. 이 코드를 제거 HideSelection하고 false로 설정 하면 CPU 사용량이 1-2 %로 감소했습니다.

//Don't use this!
richTextBox.AppendText(text);  
richTextBox.ScrollToEnd();

WPF에서는 ScrollToEnd를 사용할 수 있습니다.

richTextBox.AppendText(text);  
richTextBox.ScrollToEnd();

다음과 같이 서식있는 텍스트 상자의 TextChanged 이벤트에 코드를 작성해야합니다.

private void richTextBox_TextChanged(object sender, EventArgs e) {
       richTextBox.SelectionStart = richTextBox.Text.Length;
       richTextBox.ScrollToCaret();
}

다음이 필요하지 않습니다.

richTextBox.SelectionStart = richTextBox.Text.Length;

이것은 트릭을 수행합니다.

richTextBox.ScrollToCaret();

참고 URL : https://stackoverflow.com/questions/895470/how-do-i-scroll-a-richtextbox-to-the-bottom

반응형