如何停靠在顶部和左侧

时间:2010-08-09 13:57:16

标签: c# panel anchor docking

使用锚点我可以写下以下行:

myControl.Anchor = (AnchorStyles.Top | AnchorStyles.Left);

它会将myControl锚定在左侧和顶部。

为什么我不能执行以下操作:

myControl.Dock = (DockStyle.Top | DockStyle.Left);

我可以写上面这一行,但它所做的就是将DockStyle设置为左边。

有任何想法/原因吗?

4 个答案:

答案 0 :(得分:12)

您无法执行此操作的原因是因为设置DockStyle基本上会停靠/填充指定边缘的整数。

例如,DockStyle.Left表示停靠项目的高度始终为容器的高度,X,Y位置始终为0,0。

DockStyle.Top表示项目的宽度始终是容器的宽度,位置始终为0,0。

设置DockStyle.TopDockStyle.Left基本上会为您提供DockStyle.Fill。即与容器相同的宽度

答案 1 :(得分:3)

Dock是预先确定的锚点集,而Anchor是自定义停靠点配置。

DockStyle.TopAnchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right)相同,只是锚可以位于任何初始位置,而停靠点会移动到远边。

答案 2 :(得分:1)

DockStyle只能设置为一个值,而Anchor则可以设置为多个值。

这就是为什么有Anchor属性,以便您可以调整控件对更具体调整大小的表单的反应。

答案 3 :(得分:0)

您正在寻找的是Anchor属性:

myControl.Anchor = AnchorStyles.Bottom  | AnchorStyles.Right