14

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

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

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

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

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

我可以写上面的行,但它所做的只是将 设置DockStyle为左​​。

有什么想法/原因吗?

4

4 回答 4

15

你不能这样做的原因是因为设置一个DockStyle基本上停靠/填充指定边缘的整个。

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

DockStyle.Top意味着项目的宽度将始终是容器的宽度,并且位置将始终为 0,0。

设置 DockStyle.TopDockStyle.Left本质上会给你DockStyle.Fill. 即与容器相同的宽度高度。

于 2010-08-09T14:02:18.780 回答
3

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

DockStyle.TopAnchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right)除了锚可以坐在任何初始位置并且码头将移动到远边缘之外,其他相同。

于 2010-08-09T14:02:03.797 回答
2

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

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

于 2010-08-09T13:58:04.157 回答
0

可能是您正在寻找的是Anchor属性:

myControl.Anchor = AnchorStyles.Bottom  | AnchorStyles.Right
于 2018-04-19T09:56:54.537 回答