DevExpress_LayoutControl布局

工具 返回到 『.Net/Win Form』

引言

DevExpress 给我们提供了更加美观、更加丰富控件,

但在学习和使用时, 经常会遇到诸多麻烦。

今天在使用DevExpress的LayoutControl控件进行界面控件的布局设计时,遇到了如下的麻烦:

1.添加控件后,不知道如何修改控件的尺寸

2.由问题1引起的不知道如何将两个控件放在同一行


经过摸索解决了以上问题, 解决过程如下:

首先看下需求是通过LayoutControl控件,设计图1所示的窗体:

最终效果图
最终效果图

图1


下面从该界面的设计过程,说明上面两个问题的解决办法:

1.向窗体中添加LayoutControl控件

从工具箱,将LayoutControl控件拖入窗体后,最好立即设置该控件的尺寸和位置,

否则修改起来会比较麻烦(准确的说我还不知道怎么修改)。


拖入的同时,在如图2所示的情况下,

1. 点击小三角, 弹出LayoutContrl任务

2. 然后继续点击Choose DockStyle右侧的向下小箭头,

3. 选择中间那一大块(此时Choose DockStyle为Fill)

开始修改尺寸和位置(在这里,设置的中间大块,意思就是Fill填充整个窗体)

Choose Dock Style
Choose Dock Style

图2


2.向LayoutControl中添加控件

(1)从工具箱搜索Group, 然后将GroupBox拖入

如图3所示,GroupBox控件默认填充整个GroupControl,

并且在界面中或者属性中是无法直接修改大小的。

添加GroupBox
添加GroupBox

图3


(2)隐藏控件的layoutControlItem(Text)。

在向LayoutControl中添加控件后,会默认在其左侧添加一个layoutControlItem

隐藏该部分的方法是:

右键layoutControlItem,点击【Hide Text】,

隐藏后如图4所示。

Hide Text效果
Hide Text效果

图4


(3)修改GroupBox的高度。

点击GroupBox向下的小三角

在弹出的菜单中点击【CustomizeLayout】→【Layout Tree View】→【layoutControlItem1】,

如图5,6所示。


注意:在添加多个控件后会对应多个layoutControlItemXX代表序号,1,2,3…),

修改某一个控件时,必须找到其对应的layoutControlItemX进行属性的修改

Customize Layout
Customize Layout

图5


Layout Tree View
Layout Tree View

图6


然后在属性窗口中修改layoutControlItem1的属性:

①将SizeConstraintsType设置为Custom

②设置MaxSize的Height为70(MaxSize的Height属性来设置控件的高度,Width属性设置控件的宽),

如图7所示。

Size Constraints Type
Size Constraints Type

图7


设置完成后groupBox1的高度变为70,,效果如图8下:

调整MaxSize高度后的效果
调整MaxSize高度后的效果

图8


(4)以相同的方法依次添加正文附注两个GroupBox控件,

添加完成后如图9所示:

按相同步骤添加剩下的GroupBox
按相同步骤添加剩下的GroupBox

图9


(5)添加两个按钮

在附注GroupBox下面添加两个SimpleButton

添加后两个按钮的宽度默认填充整个LayoutControl,

且默认上下分布(一会我们要把它水平并排分布)

如图10所示:

添加SimpleButton
添加SimpleButton

图10


下面必须先修改两个按钮的尺寸,然后才能将两个按钮设置为同一行。

①若想将两个按钮水平排列在一行,

那么, 必须先修改两个按钮的宽度(两个按钮的宽度和不超过LayoutControl的宽度)。

修改按钮宽高的方法和前面讲到的一样(先设置SizeConstraintsType从Default改成Custom,再设置MaxSize)

修改完成后, 如图11所示:

同样的修改SizeConstraintsType
同样的修改SizeConstraintsType

图11


②将两个按钮并行

鼠标左键点击其中一个按钮所属的layoutControlItem*开始拖动其位置,

如图12所示:

Gif演示按钮两等分
Gif演示按钮两等分

图12


以上过程解决了LayoutControl使用时遇到的问题。

最后向GroupBox控件中再添加其他控件,完成图1的需求,结果见图1.

通过掌握这些基本操作,当然可以利用LayoutControl控件进行更复杂的布局设计,有兴趣的读者朋友可自行研究。