[英]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.