Jak zadokować i zakotwiczyć kontrolki (Windows Forms .NET)

Jeśli projektujesz formularz, którego rozmiar użytkownik może zmienić w czasie wykonywania, kontrolki w formularzu powinny mieć prawidłowy rozmiar i położenie. Kontrolki mają dwie właściwości, które pomagają w automatycznym umieszczaniu i określaniu rozmiaru, gdy formularz zmienia rozmiar.

Ważne

Dokumentacja przewodnika dla komputerów dla platform .NET 7 i .NET 6 jest w budowie.

  • Control.Dock

    Kontrolki, które są zadokowane, wypełniają krawędzie kontenera kontrolki — formularza lub kontrolki kontenera. Na przykład Eksplorator Windows zadokuje jego TreeView kontrolkę po lewej stronie okna i kontrolkę ListView po prawej stronie okna. Tryb dokowania może być dowolną stroną kontenera kontrolki lub ustawionym na wypełnienie pozostałej przestrzeni kontenera.

    A windows form demonstrating the different dock modes for a control

    Kontrolki są zadokowane w odwrotnej kolejności z, a Dock właściwość współdziała z właściwością AutoSize . Aby uzyskać więcej informacji, zobacz Automatyczne ustalanie rozmiaru.

  • Control.Anchor

    Po zmianie rozmiaru formularza zakotwiczonej kontrolki kontrolka zachowuje odległość między kontrolką a pozycjami zakotwiczenia. Jeśli na przykład masz kontrolkę TextBox zakotwiczoną w lewej, prawej i dolnej krawędzi formularza, ponieważ rozmiar formularza zostanie zmieniony, TextBox kontrolka zmienia rozmiar w poziomie, tak aby utrzymywała tę samą odległość od prawej i lewej strony formularza. Kontrolka umieszcza się również w pionie, tak aby jego lokalizacja zawsze różniła się od dolnej krawędzi formularza. Jeśli kontrolka nie jest zakotwiczona, a rozmiar formularza zostanie zmieniony, pozycja kontrolki względem krawędzi formularza zostanie zmieniona.

    A Windows form demonstrating the different anchor modes for a control

Aby uzyskać więcej informacji, zobacz Położenie i układ kontrolek.

Zadokuj kontrolkę

Kontrolka jest zadokowana przez ustawienie jej Dock właściwości.

Uwaga

Odziedziczone kontrolki muszą Protected być w stanie być zadokowane. Aby zmienić poziom dostępu kontrolki, ustaw jej właściwość Modyfikator w oknie Właściwości .

Korzystanie z projektanta

Użyj okna Właściwości projektanta programu Visual Studio, aby ustawić tryb dockowania kontrolki.

  1. Wybierz kontrolkę w projektancie.

  2. W oknie Właściwości wybierz strzałkę z prawej strony właściwości Dock.

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

  3. Wybierz przycisk reprezentujący krawędź kontenera, w którym chcesz zadokować kontrolkę. Aby wypełnić zawartość kontrolki formularza lub kontrolki kontenera, naciśnij pole środkowe. Naciśnij klawisz (brak), aby wyłączyć dokowanie.

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

Rozmiar kontrolki jest automatycznie zmieniany w celu dopasowania do granic zadokowanej krawędzi.

Programowe ustawianie docka

  1. Dock Ustaw właściwość na kontrolce. W tym przykładzie przycisk jest zadokowany po prawej stronie kontenera:

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

Kotwiczenie kontrolki

Kontrolka jest zakotwiczona na krawędzi, ustawiając jej Anchor właściwość na co najmniej jedną wartość.

Uwaga

Niektóre kontrolki, takie jak kontrolka ComboBox , mają limit wysokości. Zakotwiczenie kontrolki na dole formularza lub kontenera nie może wymusić przekroczenia limitu wysokości kontrolki.

Dziedziczone kontrolki muszą Protected mieć możliwość zakotwiczenia. Aby zmienić poziom dostępu kontrolki, ustaw jej Modifiers właściwość w oknie Właściwości .

Korzystanie z projektanta

Użyj okna Właściwości projektanta programu Visual Studio, aby ustawić zakotwiczone krawędzie kontrolki.

  1. Wybierz kontrolkę w projektancie.

  2. W oknie Właściwości wybierz strzałkę z prawej strony właściwości Anchor.

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

  3. Aby ustawić lub usunąć zakotwiczenie, wybierz górną, lewą, prawą lub dolną rękę krzyża.

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

Programowe ustawianie kotwicy

  1. Anchor Ustaw właściwość na kontrolce. W tym przykładzie przycisk jest zakotwiczony po prawej i dolnej części kontenera:

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

Zobacz też