2012-07-23 30 views
2

我目前停留在創造一個WinForms控制佈局:如何使用頂部浮動控件和自動大小創建佈局?

我的用戶主機以下子控件:

RichTextBox 
Label B 
    Control B 
    Control B 
    Control B 
Label C 
    Control C 
    Control C 
Label D 
    Control D 
    Control D 

RichTextBox中始終可見。它的高度應該隨着顯示沒有滾動條的所有文本而變大。

根據我的數據對象,我想顯示幾個附加信息,如果存在。例如,可以有5個控件B,0 C和20 D.
我希望控件「漂浮」到頂部。每個控件都應該能夠在高度上增長以顯示其全部內容。

我試過TableLayoutPanels,FlowLayoutPanels,docking和autosize設置的無數組合,但沒有一個滿足我的期望。

如何按照我上面發佈的使用功能碼頭和自動大小的順序來排列控件?

+0

這不是很清楚什麼是「浮到上面」的意思。什麼東西?在RichTextBox上?在RichTextBox上的位置? – LarsTech 2012-07-23 17:50:55

+0

我試圖澄清一下:控件之間不應該有浪費的垂直空間。第一個控件應該是RichTextBox,位於標籤B(如果存在)的正下方,後面是第一個控件B,...,後面是標籤C(如果存在)... – citronas 2012-07-23 17:53:22

回答

4
  1. 用4行1列創建外部TableLayoutPanel。爲行設置SizeType = AutoSize
  2. 將RichTextBox放入第一行。
  3. 創建帶有許多行的內部TableLayoutPanel,因爲您的控件計數和2列。爲所有行設置SizeType = AutoSize。爲內部TableLayoutPanel設置AutoSize = true。把它放在下一行。
  4. 將標籤放置到第一個單元格。請致電ColumnSpan = 2
  5. 將控件放入其他行的第二列。
  6. 重複3-5其他內BC
相關問題