與錨我可以寫如下一行:如何停靠到頂部和左
myControl.Anchor = (AnchorStyles.Top | AnchorStyles.Left);
它將錨myControl
的左側和頂部。
爲什麼我不能做到以下幾點:
myControl.Dock = (DockStyle.Top | DockStyle.Left);
我可以寫上線,但它是所有設置DockStyle
到左。
對此有何想法/原因?
與錨我可以寫如下一行:如何停靠到頂部和左
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
。即作爲容器的高度相同的寬度和。
謝謝Gtt,這解釋了我所看到的。我可能不得不提出另一個關於我試圖實現的問題,一旦我找出如何說出它! – AidanO 2010-08-09 14:16:28
沒問題。我經歷了所有的對接和錨定的痛苦,所以我會留意下一個問題。 – GenericTypeTea 2010-08-09 14:17:40
A Dock
是預先確定的錨集,而Anchor
是自定義的碼頭配置。
DockStyle.Top
與Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right)
相同,除了錨可以坐在任何初始位置並且碼頭將移動到遠邊。
他們有點相似,但他們不一樣。錨定允許您設置遠離容器邊緣的位置。停靠強制停靠的控件到指定的邊。即左= 0頂部= 0. – GenericTypeTea 2010-08-09 14:03:13
@GenericTypeTea我沒有在我的回答中說這個 – Codesleuth 2010-08-09 14:19:40
所以你做到了。我的道歉,我顯然沒有正確閱讀。 – GenericTypeTea 2010-08-09 14:27:01
我想你只是沒有完全理解如何通過使用dock,anchor和某種容器控件(如TableLayoutPanel)來獲得所需的佈局。通過這些元素,您可以構建各種佈局,並且可以很好地根據表單/控件的大小進行擴展。因此,如果您提供更多關於您想要在佈局中實現的信息,我相信我們可以找到解決方案。 – Oliver 2010-08-09 14:22:59