Previous topicNext topic
Help > 开发指南 > 窗体开发 > 控件参考 > 控件参考 > 通用成员 > Control > 通用属性 > 布局 >
Anchor

Anchor锚定

所谓锚定,就是将控件的指定部位与其父容器的相对应部位的相对位置固定住。无论父容器怎样变化,控件锚定的部位与父容器的相对位置不变,没有锚定的部位则会视父容器的变化而变化。

我们设计一个窗口,在其中拖入一个表控件,然后通过设置表控件的锚定属性来观察此属性是如何影响控件的行为的。

1、Top,Left。当我们设置锚定为顶部和左边时,无论我们如何拖动窗体这个父容器的大小,表格的顶部和左边与窗体的顶部和左边的距离始终不变。

2、Top,Right。当我们设置锚定为顶部和右边时,无论我们如何拖动窗体这个父容器的大小,表格的顶部和右边与窗体的顶部和右边的距离始终不变。

3、Right,Bottom。当我们设置锚定为底部和右边时,无论我们如何拖动窗体这个父容器的大小,表格的底部和右边与窗体的底部和右边的距离始终不变。

4、Left,Bottom。当我们设置锚定为底部和左边时,无论我们如何拖动窗体这个父容器的大小,表格的底部和左边与窗体的底部和左边的距离始终不变。

5、Top,Left,Bottom。我们还可以设置三面的锚定关系。任何设置锚定的部位相对距离始终不变。

6、Top,Left,Right,Bottom。同理,我们也可以设置四面的锚定关系。效果与我们预想的一致。

正常在窗体设计时我们就可以指定控件与父容器的锚定关系,如果我们想用代码动态设置控件的锚定关系该如何做呢?

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
tbl.Anchor=AnchorStyles.Left Or AnchorStyles.Right Or AnchorStyles.Top Or AnchorStyles.Bottom

C#
SmGrid tbl = Proj.CurrentSmGrid;
tbl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom;