Winforms 如何放置SplitContainerControl';在百分比位置上的拆分器?

Winforms 如何放置SplitContainerControl';在百分比位置上的拆分器?,winforms,devexpress,splitter,Winforms,Devexpress,Splitter,是否有一种方法可以将SplitContainerControl的拆分器放置在控件大小的百分比位置,即使调整其容器的大小也可以保持该位置?或者,另一方面,将面板的大小设置为百分比值?覆盖控件。仅显示并基于百分比设置SplitContainerControl.SplitterPosition。如果属性设置为SplitFixedPanel.None值,则面板的宽度(或高度)在调整容器大小时按比例更改。 因此,不要在SplitContainerControl中使用固定面板: splitContainer

是否有一种方法可以将SplitContainerControl的拆分器放置在控件大小的百分比位置,即使调整其容器的大小也可以保持该位置?或者,另一方面,将面板的大小设置为百分比值?

覆盖
控件。仅显示
并基于百分比设置
SplitContainerControl.SplitterPosition

如果属性设置为
SplitFixedPanel.None
值,则面板的宽度(或高度)在调整容器大小时按比例更改。 因此,不要在SplitContainerControl中使用固定面板:

splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None;
splitContainerControl1.SplitterPosition = splitContainerControl1.Width / 3;
解决方案1: 请参阅:DevExpress:

要调整拆分器位置,只需将属性设置为控件大小的一半。例如,如果要设置垂直SplitContainerControl的拆分器位置,请使用以下代码段:

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

如果没有固定面板,则属性 指定拆分器在容器左侧或顶部的位置 边(根据属性)

如果FixedPanel属性设置为 值时,面板的宽度(或高度)将按比例更改 正在调整容器的大小

更改Form.Showed或Form.SizeChanged事件处理程序上拆分器的位置。 //首先设置FixedPanel属性

splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None;
然后可以使用Parnet控件的control.ClientSizeChanged事件,如下所示:

private void ParentControl_ClientSizeChanged(Object sender, EventArgs e) 
{

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

}