当前位置: 首页 > news >正文

DevExpressWinForms-布局容器之StackPanel

文章目录

  • 布局容器之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

相关文章:

  • 拆分sql数据,(shop_backup)sql文档过大(>5G)
  • 在另一个省发布抖音作品,IP属地会随之变化吗?
  • TCP/IP协议的体系结构
  • 关于大数据的基础知识(一)——定义特征结构要素
  • 单调栈模版型题目(3)
  • 图像泊松融合(convpyr_small版本)
  • <uniapp><HBuilder><故障>HBuilder真机运行时,报“同步资源失败”故障解决
  • CET中电技术:变配电智能运维方案为工业安全与效率保驾护航
  • 124549-23-1,PBFI AM,测定细胞内区隔的钾离子水平变化
  • DNS DDoS攻击:网络世界中的“洪水猛兽”
  • 对PyTorch模块进行性能分析
  • k8s存储类型:emptyDir、hostPath、nfs、pvc及存储类storageclass的静态/动态创建pv
  • android 媒体框架
  • iOS App 安全性探索:源码保护、混淆方案与逆向防护日常
  • 操作系统基础知识
  • C#字段、属性、索引器、常量
  • ggplot2 | GO barplot with gene list
  • java 多核,多线程,分布式 并发编程的现状 :从本身的jdk ,到 spring ,到其它第三方。
  • ch09 题目参考思路
  • LVDS系列11:Xilinx Ultrascale系可编程输入延迟(一)
  • 中国科协发声:屡禁不止的奇葩论文再次敲响学风建设警钟
  • 第四轮伊美核谈判将于11日在阿曼举行
  • 75岁亚当·费舍尔坐镇,再现80分钟马勒《第九交响曲》
  • 云南临沧一行贿案金额认定比受贿案多41万,重审时检方变更金额起诉
  • 欧派家居:一季度营收降4.8%,目前海外业务整体体量仍较小
  • 一季度全国消协组织为消费者挽回经济损失23723万元