2012년 6월 27일 수요일

C# 폼 생성시 레이아웃 변경 후 ResumeLayout을 호출 해 주자.

오랜만에 C#을 만지다보니 기억이 가물가물 해 졌다.

그러다 삽질 한 것중에 하나가, 폼 생성시 생성자에는 보통 InitializeComponent()를 호출 해 준다. 그런데 호출 후에 뭔가 변경하게 될 경우 어떤 컨트롤을 변경 했느냐에 따라 적용이 바로 되는 경우가 있고 안되는 경우가 있었다. 해결은 ResumeLayout()를 호출.


예를 들면, 내가 했던 것 중에는 ScrollableControl을 상속받아 커스텀 컨트롤을 만든게 있었다. 그 컨트롤을 윈폼에 포함 시켜 HorizontalScroll, VerticalScroll 두가지 속성 값을 바꿔 주었는데, 적용이 안되었던 것. this.ResumeLayout(false)을 아래에 넣어줬더니 말끔히 해결 되었다.

댓글 없음:

댓글 쓰기