Nice programing

C # TextBox의 맨 아래로 스크롤

nicepro 2020. 12. 4. 20:36
반응형

C # TextBox의 맨 아래로 스크롤


C # Forms 응용 프로그램에 TextBox가 있습니다. 양식의 Load 이벤트에 대한 정보로 TextBox를 채 웁니다. 그런 다음 다음을 호출합니다.

this.txtLogEntries.SelectionStart = txtLogEntries.Text.Length;
this.txtLogEntries.ScrollToCaret();

그러나 TextBox가 맨 아래로 스크롤되지 않습니까?

이것은 Load 이벤트에만 적용됩니다. 또한이 TextBox가 실행되면 응용 프로그램의 다른 부분에서 업데이트하고 이러한 이벤트 중 하나가 TextBox를 업데이트하자마자 아래쪽으로 스크롤됩니다.

그렇다면 Form Load 이벤트에서 TextBox를 미리 채울 때 어떻게 아래쪽으로 스크롤 할 수 있습니까?


양식의 Shown 이벤트에 코드를 넣어보십시오.

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

Load이벤트 ( 폼이 표시 되기 전에 발생 )가 처리 되는 동안 아직 표시 할 양식이 없으므로 시각적 상태가 설정되지 않았습니다. 따라서 보이지 않는 컨트롤을 스크롤하면 아무 작업도 수행되지 않을 가능성이 큽니다. 스크롤링 뷰포트는 컨트롤의보기 일뿐 상태의 일부가 아니기 때문에 스크롤 할 것이 없기 때문입니다.

스크롤 부분을 양식 Shown이벤트 ( 양식이 처음 표시된 발생) 로 이동하면 더 많은 성공을 거둘 수 있습니다.

참고 URL : https://stackoverflow.com/questions/1228675/scroll-to-bottom-of-c-sharp-textbox

반응형