2010-02-24 2 views
1

사용자 입력에 응답하여 높이를 변경할 수있는 여러 컨트롤 (모두 동일한 사용자 정의 유형)을 표시하고 있습니다. 필요한 경우 스크롤바를 자동으로 생성하도록 구성된 패널에 컨트롤이 배치됩니다. 컨트롤은 단일 열 목록으로 정렬됩니다.크기가 변경되는 컨트롤 목록의 레이아웃을 관리합니다.

높이가 변할 때 위치를 바꾸는 가장 좋은 방법은 무엇입니까? 이 작업을 디자이너에서 자동으로 수행하도록 설정할 수 있습니까? 아니면 수동으로 크기를 변경하는 컨트롤 아래로 모든 컨트롤을 수동으로 이동해야합니까?

답변

1

일반 패널 대신 FlowLayoutPanel을 사용하는 것으로 의심되며 하위 컨트롤을 변경 한 후 새로 고침하면 트릭을 수행해야합니다.

+0

그건 내 수직 레이아웃 문제를 해결했지만 새로운 문제를 일으키는 것입니다. 대화창의 너비가 왼쪽이나 오른쪽으로 고정되어 있음에도 불구하고 더 이상 바뀌지 않으면 모든 컨트롤이 수평으로 조정되지 않습니다. FlowLayoutPanel의 크기가 가로 방향으로 조정됩니다 (스크롤 막대가 왼쪽에서 오른쪽으로 이동). –

+0

더 많은 문제를 실험하는 것은 흐름 패널이 포함 된 컨트롤이 충분히 넓어지면 여러 열에 표시 할 수 있기를 원합니다. 나는 단 하나의 열 레이아웃 만 원한다. –

+0

MSDN에서 FlowLayoutPanel의 작동 방식을 조금 읽었습니다. 내가 겪고있는 문제는 의도적 인 것입니다. FLP 자체에 고정하는 대신 FLP에 포함 된 가장 큰 컨트롤과 관련된 앵커 (및 도킹) 내부의 컨트롤을 제어합니다. 이것은 크기 조정시 컨트롤 너비를 조정하여 레이아웃 작업을 할 수 있다는 것을 의미한다고 생각합니다. 수직 레이아웃을 조정하는 것보다 쉽지만 이상적인 옵션은 아닙니다. –

관련 문제