2012-08-29 2 views
2

autosize가 true로 설정된 windows Form을 만들고 AutoSizeMode = GrowAndShrink를 만듭니다.Winforms 상태 표시 줄을 사용하여 양식 자동 수정

간단한 컨트롤을 폼에 붙여서 프로그램을 실행했습니다. 폼은 한 컨트롤 만 표시하도록 올바르게 크기가 조절됩니다.

그런 다음 양식 맨 아래에 스트립을 추가했습니다 (DevExpress Bar로 시작했지만 기본 컨트롤 만 사용하기 때문에 아래쪽에 statusStrip이 생겼습니다).

이번에 응용 프로그램을 실행할 때 자동 크기 조정 된 양식은 상태 표시 줄이없는 것과 정확히 같은 크기이며, 추가 한 컨트롤은 상태 표시 줄과 겹치고 있습니다 (상태 표시 줄은 실제로 볼 수 있습니다. 그곳에).

왜 이런 경우입니까? 이것은 의도적입니까? 형태가 축소되면 폼 하단의 상태 표시 줄이 겹쳐져서는 안된다는 사실을 존중합니다.

답변

2

컨트롤이 도킹 된 경우 AutoSize가 제대로 작동하지 않습니다. 자동 크기 작업을 보려면 StatusStrip에서 DockStyle을 끄십시오.

제러드 파의 AutoSize and DockStyle.Fill don't mix 블로그를 참조하십시오.

자동 크기 조정 및 DockStyle.Fill은 잘 섞이지 않습니다. 두 속성은 나머지 컨트롤과 관련된 크기 관계를 설명하기 위해 존재하지만 충돌하는 방식으로 나타납니다.

+0

dockStyle을 끄면 실제로 다른 컨트롤이 겹치지 않게됩니다. 불행히도 양식은 더 이상 내가 기대했던 방식으로 축소되지 않습니다. – user981225

+1

StatusStrip이 바닥에있을 것으로 예상되는 경우 직접 위치를 지정해야합니다. 그에 따라 양식의 크기가 조정됩니다. – LarsTech

2

statusStrip이 도킹으로 설정된 것으로 가정합니다. 이 때문에 컨트롤은 양식 크기에 따라 달라지며 다른 방법으로 도킹되지 않습니다.

+0

dockStyle을 끄면 실제로 다른 컨트롤이 겹치지 않게됩니다. 불행하게도이 형식은 더 이상 내가 기대했던 방식으로 축소되지 않기 때문에 실제로 옵션이 아닙니다. – user981225

관련 문제