DevExpress&WinForms-布局容器之StackPanel

布局容器之StackPanel

在 WinForms 开发中,StackPanel 是一个极为实用的布局控件,它能将子元素以单行形式,按垂直或水平方向排列,大大提升界面布局的便捷性与灵活性。

一、基础布局设置

StackPanel 的布局方向由LayoutDirection属性决定,可取值为TopDown(从上到下)、BottomUp(从下到上)、LeftToRight(从左到右)、RightToLeft(从右到左 )。设计时,直接把控件拖放到 StackPanel 上就能完成布局。
Layout

编码时,通过向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扩展属性即可。
Stretched
Stretched

代码中,调用StackPanel.SetStretched(Control, Boolean)方法,例如:

this.stackPanel5.SetStretched(simpleButton13, true);

三、自动调整大小模式

StackPanel 支持自动调整大小以适配内容,这要借助AutoSizeAutoSizeMode属性。把AutoSize设为true开启自动调整功能,AutoSizeMode可选择GrowOnly(只增大)或GrowAndShrink(可增大可缩小 )。下面的代码示例,同时为包含 StackPanel 的窗体和 StackPanel 本身启用了自动调整大小功能:
AutoSize

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿蒙Armon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值