2009-12-04 6 views
5

설명 예를 들어 가로 방향으로 확장 할 수있는 FlowLayoutPanel을 만들려고했습니다. FlowLayoutPanel 및 하위 구성 요소 앵커가Cannnot FlowLayoutPanel 컨트롤에서 자식 컨트롤 크기 조절

FlowLayoutPanel 방향 좌측 상단 오른쪽에 설정되어

은 하향식으로 설정되어 있습니다.

-> FlowLayoutPanel을 리지 징 (rezising) 할 때 하위 구성 요소의 크기가 그대로 조정되지 않습니다.

단계

  1. 이 양식에 FlowLayoutPanel 컨트롤을 만듭니다합니다.

  2. FlowLayoutPanel의 FlowDirection을 TopDown으로 설정하십시오.

  3. Button 컨트롤을 만든 다음 FlowLayoutPanel 컨트롤에 배치합니다.

  4. 는 버튼과 FlowLayoutPanel을 선택하고 수평 길에 FlowLayoutPanel을 확장하기 위해 좌측 상단 오른쪽

  5. 시도하는 그들의 앵커를 설정합니다.

-> FlowLayoutPanel입니다 크기를 조정하지만, 버튼

답변

6

FlowLayoutPanel 만이 동적 방법으로 자식 컨트롤의 배치에 의미가 없습니다. 그렇다고해서 FlowLayoutPanel 내에서 자동으로 크기가 조정되는 것은 아닙니다. FlowLayoutPanel이 자식 컨트롤의 Anchor 속성을 무시한다고 생각합니다.

이 효과를 얻으려면 FlowLayoutPanel의 SizeChanged 이벤트에서 하위 컨트롤의 크기를 수동으로 조정해야합니다.

그러나이 시점에서 FlowLayoutPanel이 실제로 사용하고 싶은 것을 재검토하고 싶을 수 있습니다. FlowLayoutPanel의 너비를 항상 채우고 싶다면 Panel에 막대를 꽂아 앵커를 사용하거나 Dock 속성을 설정할 수 있습니다.

4

FlowLayoutPanel 컨트롤은 열의 가장 넓은 하위 컨트롤에서 묵시적 된 열의 너비를 계산합니다. Anchor 또는 Dock 속성이있는이 열의 다른 모든 컨트롤은이 묵시적 열에 맞게 정렬되거나 늘어납니다. 이 동작은 수평 흐름 방향에 대해 비슷한 방식으로 작동합니다. FlowLayoutPanel 컨트롤은 행의 가장 큰 하위 컨트롤에서 암시 된 행의 높이를 계산하며이 행의 고정되거나 고정 된 모든 자식 컨트롤은 암시 된 행에 맞게 정렬되거나 크기가 조정됩니다.

체크 MSDN 설명서는 여기 http://msdn.microsoft.com/en-us/library/ms171633.aspx

+0

개별 컨트롤의 크기 조정 옵션을 설정할 수 있습니다 "FlowBreak"와 같은 옵션이있을 필요가있다. 나는 전체 너비를 항상 차지하려고하는 전체 컨트롤 세트 중 하나의 특정 패널이있는 비슷한 상황을 가지고 있지만 다른 모든 것들에 대해서는 자동 레이아웃을 원합니다. 현재 설정 중 하나 또는 다른 선택해야 ... 둘 다 싶습니다. –