2012-07-19 3 views
4

내 Winforms 앱이 GUI 상태를 데이터베이스에 저장하고 복원합니다. Split Container의 SplitterDistance를 제외한 모든 것이 정상적으로 작동합니다.Split Container Splitter 사용자 개입없이 변경됨

값이 올바르게로드되고 DB에서 설정되지만 스플리터를 건드리지 않고 을 종료하면 동일한 값을 저장하려고합니다. 하지만 초기 값에서 25 픽셀을 뺀 값을 저장합니다. 여러 번 앱을 열고 닫으면 스플리터 거리가 매번 25 픽셀 씩 줄어 듭니다.

이것은 사용자 지정 컨트롤이 아니며 일반적으로 오래된 .NET SplitContainer입니다. 컨트롤은 프로그래밍 방식으로 액세스되어 초기 SplitterDistance를로드하고 종료시 저장합니다.

어떻게 해결할 수 있습니까?

업데이트 : spl의 FixedPanel 속성은 원래 None으로 설정되었습니다. 이것을 Panel1Panel2으로 설정하려고했습니다. 두 경우 모두 SplitterDistance 은 저장하면이 50 픽셀 증가합니다.

답변

1

분할 컨테이너 안에 사용자 정의 컨트롤이 있고, 모두로드되었을 때 사용자 정의 컨트롤을 포함하는 사용자 정의 컨트롤과 함께 크기가 조정되었을 것입니다.

문제를 해결하려면 FixedPanel 속성을 설정하고 관찰하십시오.

+0

내 업데이트를 참조하십시오. 분할 된 전체 컨테이너의 크기를 조정할 수 있습니까? –

+0

resize 이벤트에 처리기를 추가하고 컨테이너의 크기를 조정하는 중입니다. 그래서 이제는 .NET에서 모든 작업의 ​​크기를 조정했으면 DB에서 SplitterDistance를 설정해야한다고 생각합니다 (언제?). –

+0

스플 리터 컨테이너의 너비가 같고 화면에로드 할 때 창 크기는 무엇입니까? – Turbot