https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/controls/best-practices-for-the-tablelayoutpanel-control?view=netframeworkdesktop-4.8#avoid-visual-inheritance
TableLayoutPanel 控件的最佳做法
建議
以下建議將幫助你充分利用 TableLayoutPanel 控件。
目標使用
請 TableLayoutPanel 謹慎使用 控件。 不應在需要可調整大小布局的所有情況下使用它。 以下列表描述了從控件的使用中獲益最大的 TableLayoutPanel 佈局:
-
佈局,其中窗體的多個部分彼此按比例調整大小。
-
將在運行時動態修改或生成的佈局,例如數據輸入窗體,這些窗體根據首選項添加或減去用戶可自定義的字段。
-
應保持整體固定大小的佈局。 例如,你可能有一個應小於 800 x 600 的對話框,但需要支持本地化字符串。
以下列表描述了使用 控件無法顯著受益的 TableLayoutPanel 佈局:
-
包含一列標籤和一列文本輸入區域的簡單數據輸入窗體。
-
具有單個大型顯示區域(應在調整大小時填充所有可用空間)的窗體。 例如,顯示單個控件的 PropertyGrid 窗體。 在這種情況下,請使用定位,因爲在調整窗體大小時不應展開任何其他內容。
仔細選擇要在 控件中的 TableLayoutPanel 控件。 如果使用定位點,文本可以增長 30%,請考慮僅使用 Anchor 屬性。 如果可以估計佈局所需的空間,則 使用 和 比估計剩餘空間 Dock Anchor 和行爲的詳細信息更容易 AutoSize 。
通常,使用 控件設計佈局時, TableLayoutPanel 請儘可能簡化設計。
使用"文檔大綱"窗口
"文檔大綱"窗口提供佈局的樹視圖,可用於操作控件的 z 順序和父子關係。 在"視圖"菜單中, 選擇"其他 Windows", 然後選擇"文檔大綱"。
避免嵌套
避免在 控件 TableLayoutPanel 中嵌套其他 TableLayoutPanel 控件。 調試嵌套佈局可能很困難。
避免視覺繼承
控件 TableLayoutPanel 不支持在窗體設計器的 Windows 窗體設計器中Visual Studio。 派生 TableLayoutPanel 類中的控件在設計時顯示爲"已鎖定"。