Share via


如何停駐和錨定控制項 (Windows Forms .NET)

如果您要設計使用者可以在執行時間調整大小的表單,表單上的控制項應適當調整大小並重新置放。 當表單變更大小時,控制項有兩個屬性可協助自動放置和調整大小。

重要

.NET 7 和 .NET 6 的桌面指南檔正在建置中。

  • Control.Dock

    停駐的控制項會填滿控制項容器的邊緣,可以是表單或容器控制項。 例如,Windows 檔案總管會將控制項 TreeView 停駐在視窗左側,並將控制項 ListView 停駐在視窗右側。 停駐模式可以是控制項容器的任何一端,或設定為填滿容器的剩餘空間。

    A windows form demonstrating the different dock modes for a control

    控制項會以反向 z 順序停駐,而 Dock 屬性會與 AutoSize 屬性互動。 如需詳細資訊,請參閱 自動調整大小

  • Control.Anchor

    當錨定控制項的表單調整大小時,控制項會維持控制項與錨點位置之間的距離。 例如,如果您的 TextBox 控制項錨定在表單的左、右和下邊緣,當表單調整大小時,控制項會水準調整大小, TextBox 使其與表單的左右兩側保持相同的距離。 控制項也會垂直定位本身,使其位置一律與表單的下邊緣相同。 如果控制項未錨定且表單調整大小,則會變更控制項相對於表單邊緣的位置。

    A Windows form demonstrating the different anchor modes for a control

如需詳細資訊,請參閱 控制項 的位置和配置。

停駐控制項

控制項會藉由設定其 Dock 屬性來停駐。

注意

繼承的控制項必須 Protected 能夠停駐。 若要變更控制項的存取層級,請在 [屬性 ] 視窗中設定其 修飾詞 屬性

使用設計工具

使用 Visual Studio 設計工具 [屬性 ] 視窗來設定控制項的停駐模式。

  1. 選取設計工具中的控制項。

  2. 在 [ 屬性] 視窗中,選取 Dock 屬性右邊的 箭號。

    Visual Studio Properties pane for .NET Windows Forms with Dock property shown.

  3. 選取代表您要停駐控制項之容器邊緣的按鈕。 若要填滿控制項表單或容器控制項的內容,請按中央方塊。 按 (無) 停用停駐。

    Visual Studio Properties pane for .NET Windows Forms with Dock property expanded.

控制項會自動調整大小,以符合停駐邊緣的界限。

以程式設計方式設定 Dock

  1. Dock在 控制項上設定 屬性。 在此範例中,按鈕停駐在其容器右側:

    button1.Dock = DockStyle.Right;
    
    button1.Dock = DockStyle.Right
    

錨定控制項

控制項會藉由將其 Anchor 屬性設定為一或多個值,以錨定至邊緣。

注意

某些控制項,例如 ComboBox 控制項,具有其高度的限制。 將控制項錨定在其表單或容器底部,無法強制控制項超過其高度限制。

繼承的控制項必須 Protected 能夠錨定。 若要變更控制項的存取層級,請在 [屬性 ] 視窗中設定其 Modifiers 屬性

使用設計工具

使用 Visual Studio 設計工具 [屬性 ] 視窗來設定控制項的錨定邊緣。

  1. 選取設計工具中的控制項。

  2. 在 [ 屬性] 視窗中,選取 Anchor 屬性右邊的 箭號。

    Visual Studio Properties pane for .NET Windows Forms with Anchor property shown.

  3. 若要設定或取消設定錨點,請選取交叉的頂端、左、右或下臂。

    Visual Studio Properties pane for .NET Windows Forms with Anchor property expanded.

以程式設計方式設定錨點

  1. Anchor在 控制項上設定 屬性。 在此範例中,按鈕會錨定在其容器的右側和底部:

    button1.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
    
    button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    

另請參閱