如果要實現較為靈活的拉伸,可使用TableLayoutPanel,這個是可以通過程序的手段定義壹種布局模式,隨著窗口大小這種布局模式不會出現控件位置和相互遮擋情況。
TableLayoutPanel 控件以網格方式排列其內容。因為在設計時和運行時都執行布局,所以當應用程序環境更改時,布局可以動態更改。這使得面板中的控件能夠按比例調整大小,以便響應如父控件調整大小或由於本地化引起的文本長度更改等更改。
對齊和拉伸控件
從“工具箱”中將壹個 TableLayoutPanel 控件拖到窗體上。
將 Button 控件從“工具箱”拖到 TableLayoutPanel 控件左上部的單元格中。Button 在單元格中居中。
將 Button 控件的 Anchor 屬性值設置為 Left,Right。Button 控件將拉伸到與單元格的寬度相符。
將 Button 控件的 Anchor 屬性的值設置為 Top,Bottom。Button 控件將拉伸到與單元格的高度相符。
將 Button 控件的 Dock 屬性值設置為 Fill。Button 控件將擴展到填滿單元格。
將 Button 控件的 Dock 屬性值設置為 None。Button 控件將恢復到原始大小並移動到單元格的左上角。“Windows 窗體設計器” 已將 Anchor 屬性設置為 Top, Left。
將 Button 控件的 Anchor 屬性值設置為 Bottom,Right。Button 控件將移動到單元格的右下角。
將 Button 控件的 Anchor 屬性值設置為 None。Button 控件將移動到單元格的中心。
編輯行和列
從“工具箱”中將壹個 TableLayoutPanel 控件拖到窗體上。
單擊 TableLayoutPanel 控件的智能標記標誌符號 (),並選擇“編輯行和列”來打開“列和行樣式”對話框。還可右擊 TableLayoutPanel 控件並從快捷菜單中選擇“編輯行和列”。
若要添加或移除列,請從“成員類型”下拉列表框中選擇“列”。
若要添加或移除行,請從“成員類型”下拉列表框中選擇“行”。
單擊“添加”按鈕可將壹行或壹列添加到“成員”列表的末尾。
單擊“插入”按鈕可將壹行或壹列添加到列表中當前選定項之前。
如果要添加壹行或壹列,請為新行或新列選擇“大小類型”。有關更多信息,請參見 SizeType。
若要移除壹行或壹列,請單擊“移除”按鈕刪除“成員”列表中的當前選定項。
在實際應用中,最好是將詳細信息統壹放在壹個TableLoyoutPanel中,而非整個窗口中其他控件。例如壹個窗口包含菜單欄、工具欄、狀態欄、詳細信息面板,這時可將詳細信息面板單獨制作成壹個UserControl,在該控件中放置壹個TableLayoutPanel完全填充這個控件,然後在這個面板中根據實際情況定義行和列,最後將實際控件放置到這個面板中不同各個位置。
做好後,將這個自定義的UserControl放置到窗口中,完全填充(Dock==Full),就能實現部分內容隨著窗口變換大小。
當然這只是簡單的實驗,具體情況還要根據妳的設計來定。