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

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

  • Control.Dock

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

    示範控制項的不同停駐模式的 Windows 表單

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

  • Control.Anchor

    當調整錨定控制項的表單大小時,該控制項會保持控制項與錨點位置之間的距離。 例如,如果您的 TextBox 控制項錨定在表單的左、右和下邊緣,則當調整表單大小時,TextBox 控制項會水平調整大小,以便它與表單的左右兩側保持相同的距離。 該控制項也會垂直定位本身,以便其位置與表單下邊緣的距離始終相同。 如果未錨定控制項並調整了表單的大小,則控制項相對於表單邊緣的位置會變更。

    示範控制項的不同錨定模式的 Windows 表單

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

停駐控制項

控制項可透過設定其 Dock 屬性來停駐。

注意

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

使用設計工具

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

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

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

    顯示了 Dock 屬性的 .NET Windows Forms 的 Visual Studio [屬性] 窗格。

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

    展開了 Dock 屬性的 .NET Windows Forms 的 Visual Studio [屬性] 窗格。

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

以程式設計方式設定 Dock

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

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

錨定控制項

透過將控制項的 Anchor 屬性設為一或多個值,將控制項錨定到邊緣。

注意

某些控制項 (例如 ComboBox 控制項) 對其高度有限制。 將控制項錨定到其表單或容器的底部無法強制控制項超出其高度限制。

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

使用設計工具

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

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

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

    顯示了 Anchor 屬性的 .NET Windows Forms 的 Visual Studio [屬性] 窗格。

  3. 若要設定或取消設定錨點,請選取十字架的上臂、左臂、右臂或下臂。

    展開了 Anchor 屬性的 .NET Windows Forms 的 Visual Studio [屬性] 窗格。

以程式設計方式設定 Anchor

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

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

另請參閱