2017-03-27 46 views
0

이 같은 폭이 넓고 버튼으로 FlowLayoutPanel 좁은 사람의 순서 감안할 때 : enter image description here하위 컨트롤의 크기가 변경되면 어떻게 FlowLayoutPanel을 다시 래핑 할 수 있습니까?

자동 스크롤이 켜져있는 경우를 나는이 좁게 만들기 위해 창 크기를 조정,이 같은 가로 스크롤 막대를 얻을 :

enter image description here.

지금까지 그리 예상치 못한 것은 아니지만 작은 버튼이 줄줄 알았을 것이라고 생각했지만 스크롤 폭은 가장 넓은 버튼의 너비이며 사용 가능한 스크롤 공간을 최대한 활용하는 것이 좋습니다. 다른 버튼을 배치하십시오.

다음에는 넓은 버튼을 좁게 만드는 코드가 있습니다. 이제 상황은 다음과 같습니다. enter image description here

이 글은 FlowLayoutPanel의 버그입니다. 이제는 패널만큼의 하위 컨트롤이 없습니다. 랩으로 설정됩니다. 그 작업을 수행 FlowLayoutPanel을 만들기 위해 상단 버튼의 폭을 변경 한 후

enter image description here

그래서, 질문은, 내 코드는 무엇을해야하고 포장을 조정 : 그것은이 같은 컨트롤을 포장한다 및 스크롤 막대? ResumeLayout (true)과 PerformLayout()의 다양한 조합을 성공하지 않고 시도했습니다.

+0

위 예제를 작성한 소스 코드를 제공 할 수는 있지만 질문에 포함하는 데 약간 시간이 걸립니다. – JohnT

답변

0

내가 찾은 해결책 중 하나는 단추의 크기를 조정하기 전에 자동 스크롤을 끄고 나중에 다시 켜는 것입니다. (또한 AutoScrollPosition을 저장하고 복원해야합니다.) 그러나 이것은 추한 것입니다 ... 더 좋은 방법이 있습니까?