SplitContainerControl의 분할자를 컨트롤 크기의 퍼센트 위치에 배치 할 수 있습니까? 컨테이너의 크기가 조정 된 경우에도 계속 유지됩니까? 또는 반면에 패널의 크기를 퍼센트 값으로 설정합니까?SplitContainerControl의 분할자를 퍼센트 위치에 배치하는 방법은 무엇입니까?
1
A
답변
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 속성을 설정 //