![](/img/trans.png)
[英]using WinForms Dock with MaximumSize; I want it centered not top left
[英]How to dock to the top and the left
使用锚点我可以写下以下行:
myControl.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
它会将myControl
锚定在左侧和顶部。
为什么我不能做以下事情:
myControl.Dock = (DockStyle.Top | DockStyle.Left);
我可以编写上面的代码,但它只是将DockStyle
为左边。
有什么想法/原因吗?
你不能这样做的原因是因为设置DockStyle
基本上停靠/填充指定边缘的整体性。
例如, DockStyle.Left
表示停靠项目的高度始终是容器的高度,X,Y位置始终为0,0。
DockStyle.Top
表示项目的宽度始终是容器的宽度,位置始终为0,0。
设置DockStyle.Top
和DockStyle.Left
本质上会给你DockStyle.Fill
。 即与容器相同的宽度和高度。
Dock
是预定的锚点集,而Anchor
是自定义的Dock配置。
DockStyle.Top
与Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right)
相同,不同的是锚点可以位于任何初始位置,并且码头将移动到远边缘。
DockStyle
只能设置为一个值,而Anchor
可以设置为多个。
这就是为什么有Anchor
属性,以便您可以调整控件对更具体地调整大小的形式的反应。
你可能正在寻找的是Anchor
属性:
myControl.Anchor = AnchorStyles.Bottom | AnchorStyles.Right
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.