DevExpressWinForms-布局容器之StackPanel
文章目录
- 布局容器之StackPanel
- 一、基础布局设置
- 二、拉伸控件
- 三、自动调整大小模式
- 四、其他实用设置
- 总结
- 源码
布局容器之StackPanel
在 WinForms 开发中,StackPanel 是一个极为实用的布局控件,它能将子元素以单行形式,按垂直或水平方向排列,大大提升界面布局的便捷性与灵活性。
一、基础布局设置
StackPanel 的布局方向由LayoutDirection
属性决定,可取值为TopDown
(从上到下)、BottomUp
(从下到上)、LeftToRight
(从左到右)、RightToLeft
(从右到左 )。设计时,直接把控件拖放到 StackPanel 上就能完成布局。
编码时,通过向Controls
集合添加控件实现,像这样:
this.stackPanel3.Controls.Add(this.labelControl3);
this.stackPanel3.Controls.Add(this.simpleButton11);
this.stackPanel3.Controls.Add(this.simpleButton12);
// 从左到右
this.stackPanel3.LayoutDirection = Utils.Layout.StackPanelLayoutDirection.LeftToRight;this.stackPanel4.Controls.Add(this.labelControl4);
this.stackPanel4.Controls.Add(this.simpleButton14);
this.stackPanel4.Controls.Add(this.simpleButton15);
// 从左到右
this.stackPanel4.LayoutDirection = DevExpress.Utils.Layout.StackPanelLayoutDirection.RightToLeft;
二、拉伸控件
想让某个控件在 StackPanel 里占满可用空间,可以拉伸它。设计时,启用控件的Stretched
扩展属性即可。
代码中,调用StackPanel.SetStretched(Control, Boolean)
方法,例如:
this.stackPanel5.SetStretched(simpleButton13, true);
三、自动调整大小模式
StackPanel 支持自动调整大小以适配内容,这要借助AutoSize
和AutoSizeMode
属性。把AutoSize
设为true
开启自动调整功能,AutoSizeMode
可选择GrowOnly
(只增大)或GrowAndShrink
(可增大可缩小 )。下面的代码示例,同时为包含 StackPanel 的窗体和 StackPanel 本身启用了自动调整大小功能:
this.stackPanel3.AutoSize = true;
this.stackPanel3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;this.stackPanel4.AutoSize = true;
this.stackPanel4.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
四、其他实用设置
AutoScroll
属性用于设置是否显示滚动条,方便查看超出可见边界的控件;AutoTabOrder
能自动维护子控件的 Tab 键顺序;LabelVertAlignment
则决定了LabelControl
与右侧(从右到左语言环境下为左侧 )文本编辑器的垂直对齐方式。
总结
StackPanel 在 WinForms 开发中,凭借其丰富的属性和便捷的操作,能大幅提升界面布局效率。无论是简单的表单设计,还是复杂的用户界面搭建,它都是开发者的得力助手,值得深入学习和运用。
源码
https://gitcode.com/huyu107/DevExpress.WinForms