2011-08-14 70 views
28

我有一個WinForms Form與它的幾個控件。他們都是GrouBox控件,我希望它們堆疊,並在它們之間設置垂直邊距。我已將Dock屬性設置爲Top,並將它們疊加在一起,但忽略了邊距(控件儘可能接近彼此)。即使設置了Dock屬性,Can Margin也可以執行嗎?

這些邊距能否以某種方式強制執行?基本上,它會計算正常停靠的位置(就好像邊距爲0),然後應用邊距。是這樣的可能嗎?

我試過的另一種方法是用FlowLayoutPanelTopDown選項。但是,那麼我需要手動設置大小和左/右錨點。

有沒有簡單的方法來實現這種情況,還是應該堅持我已經擁有的東西?

+3

控件停靠時,嘗試使用「Padding」而不是「Margin」。 –

+1

是的,需要FLP。在其內部的控件上設置Margin屬性以創建差距。 –

回答

9

設置停靠屬性將忽略GroupBox控件之間的填充屬性,所以是的,最好的辦法是使用Flow或Table面板來執行此操作。

26

將每個GroupBox放置在Panel中,將Panel Panel Dock屬性設置爲Top,將Group Box Dock屬性設置爲Fill。然後在面板上設置填充。

+6

填充是關鍵!至少在我的情況下。 – Arman

2

添加一個虛擬透明面板停靠在每個文本框之間,高度等於您所需的確切距離。

相關問題