[C#] Form load 시 dataGridview 특정행으로 scroll 이동 안됨_해결
Form load 할 때 datagridview에 데이터 바인딩 후
특정 데이터를 찾아 해당 데이터 위치로 화면 스크롤 하는 것을 구현하고 싶었다.
form.Load 함수 사용 하여 해당 함수에서 datagridview에 데이터 바인딩 후
dataGridView.FirstDisplayedScrollingRowIndex = 원하는 rowIndex; -> 해당코드 추가
바인딩은 되는 거 같은데 스크롤이 안된다.....
폼 로드 하고 컨트롤(dataGridview) 렌더링 이 안되있는 상태에 스크롤 이동을 하려고 하니까 안되는거 같아서
폼 event 순서를 찾아 보았다.
아래 사이트 참고
http://www.acronet.kr/index.php?mid=python&document_srl=27206
프로그래밍 노트 - [C#] 폼 시작(로드) 이벤트순서 (Form Load vs Shown)
속 시원한 내용은 아직 발견하지 못했지만... 일단 현재까지 찾아본 결과는... 메뉴에서 프로그램을 클릭한 후 해당 프로그램이 화면에 나타나기 까지의 순서는 다음과 같다. 폼 시작 이벤트의
www.acronet.kr
근데 내가 원하는 컨트롤 렌더링 후 event 는 없는 거 같아서
form event 하나하나 살펴보니
내가 원하는게 있다 !!!
Control.Paint 이벤트 (System.Windows.Forms)
컨트롤을 다시 그리면 발생합니다.
learn.microsoft.com
컨트롤을 그리면 실행되는 함수..
form.Paint();
해당 함수 안에서 바인딩 스크롤 이동 하니 잘된다.