2010-05-07 3 views
3

winform (C# .NET)에서 매우 간단한 자동 크기 조정 레이아웃을 얻으려고합니다. 나는 TableLayoutPanels과 FlowLayoutPanels를 시도했지만 아무런 효과가 없다.Flowlayout 패널 및 자식 컨트롤 자동 조절이 작동하지 않습니다.

런타임에 생성되는 다른 usercontrols의 컨테이너 인 usercontrol이 있습니다. 하위 컨트롤을 세로로 나열하려면 StackPanel을 호출했습니다. FlowLayoutPanel, TableLayoutPanel 및 Panel (각 컨트롤이 맨 위에 고정되어 있음)을 사용하여이 작업을 시도했습니다.

하위 사용자 컨트롤은 레이블로 구성된 다음 라디오 버튼 수 (또는 다른 표준 컨트롤 - 중요하지 않음)로 구성됩니다.

자식 컨트롤이 만들어지면 레이블 텍스트가 설정되고 (길게 길면 새 줄로 줄 바꿈해야 함) 라디오 단추가 추가됩니다.

도킹/자동 크기 조정 또는 자르기 크기 조정을 사용하여 클리핑하지 않고 표시하고 크기를 조정할 수있는 Resize 이벤트를 조합하여 사용하지 않는 것 같습니다.

감사합니다.

답변

2

저는 두 패널 모두 비슷한 경험을했습니다.

FlowLayoutPanel :

당신은 기본적으로 왼쪽 상단에 고정 자녀 위젯을 떠날 필요가

. 도킹하지 마세요. 또한 오른쪽에 고정하지 마십시오. 라벨 자동 크기 조정은이 구성에서만 작동합니다.

그런 다음 FlowLayoutPanel의 resize 이벤트를 캡처하고 하위 구성 요소의 모든 너비를 수동으로 조정할 수 있습니다.

+1

이벤트 처리기를 설정하는 것이 실제로 유일한 방법입니까? – RyPope