2013-08-13 2 views

답변

4

SplitContainerControl.FixedPanel 속성을 SplitFixedPanel.None 값으로 설정하면 컨테이너의 크기를 조정할 때 패널의 너비 (또는 높이)가 비례하여 변경됩니다. 따라서, 단지 SplitContainerControl 내에 고정 패널을 사용하지 않는 :

splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None; 
splitContainerControl1.SplitterPosition = splitContainerControl1.Width/3; 
1

Control.OnLayout을 덮어 쓰고 백분율을 기준으로 SplitContainerControl.SplitterPosition으로 설정하십시오.

1

용액 1 : 참조 : DevExpress의 : SplitContainerControl - Defaulting splitter position to 50%

분할 위치를 조정하려면 제어의 절반 크기로 SplitContainerControl.SplitterPosition 속성을 설정 .

private void Form1_Load(object sender, EventArgs e) 
{ 
    splitContainerControl1.SplitterPosition = splitContainerControl1.Height/2; 
} 

해결 방법 2 :

고정 된 패널이없는 경우, SplitterPosition 재산 지정하면 수직 SplitContainerControl의 분할 위치를 설정하려는 경우 예를 들어, 다음 코드를 사용 컨테이너 왼쪽 또는 위 가장자리 (Horizontal 속성에 따라)에서 스플리터의 위치. FixedPanel 속성이 SplitFixedPanel.None 값으로 설정

경우, 용기의 크기가 변경 될 때, 패널 '너비 (또는 높이)의 변화에 ​​비례한다.

Form.Shown 또는 Form.SizeChanged 이벤트 처리기에서 스플리터 위치를 변경하려면.

private void ParentControl_ClientSizeChanged(Object sender, EventArgs e) 
{ 

    splitContainerControl1.SplitterPosition = splitContainerControl1.Width/2; 
    or 
    splitContainerControl1.SplitterPosition = ParentControl.Width/2; 

} 
: 먼저 아래로 Parnet 컨트롤의 Control.ClientSizeChanged 이벤트를 사용할 수 있습니다

splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None; 

다음 FixedPanel 속성을 설정 //

관련 문제