首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将SplitContainerControl的拆分器放置在百分比位置?

如何将SplitContainerControl的拆分器放置在百分比位置?
EN

Stack Overflow用户
提问于 2013-08-13 21:27:21
回答 3查看 7.9K关注 0票数 2

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-14 07:11:38

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

代码语言:javascript
运行
复制
splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None;
splitContainerControl1.SplitterPosition = splitContainerControl1.Width / 3;
票数 6
EN

Stack Overflow用户

发布于 2013-08-13 23:32:47

重写Control.OnLayout并根据百分比设置SplitContainerControl.SplitterPosition

票数 2
EN

Stack Overflow用户

发布于 2013-08-14 09:15:57

解决方案1:参考: DevExpress:SplitContainerControl -默认拆分器位置为50%

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

代码语言:javascript
运行
复制
private void Form1_Load(object sender, EventArgs e)
{
    splitContainerControl1.SplitterPosition = splitContainerControl1.Height / 2; 
}

解决方案2:

如果没有固定面板,则SplitterPosition属性指定从容器的左边或顶部边缘(根据水平属性)拆分器的位置。 如果将FixedPanel属性设置为SplitFixedPanel.None值,则在调整容器大小时,面板的宽度(或高度)将按比例更改。

若要更改Form.Shown或Form.SizeChanged事件处理程序上的拆分器位置,请执行以下操作。//首先设置FixedPanel属性

代码语言:javascript
运行
复制
splitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.None;

然后您可以使用Parnet控件的Control.ClientSizeChanged事件,如下所示:

代码语言:javascript
运行
复制
private void ParentControl_ClientSizeChanged(Object sender, EventArgs e) 
{

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

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18219539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档