Udostępnij za pośrednictwem


Przewodnik: ustawianie kontrolek z wypełnieniem, marginesami i właściwością AutoSize

Precyzyjne umieszczanie kontrolek w formularzu jest wysokim priorytetem dla wielu aplikacji. Program Windows Forms Designer w programie Visual Studio udostępnia wiele narzędzi do tego celu. Trzy najważniejsze to właściwości Margin, Paddingi AutoSize, które znajdują się we wszystkich kontrolkach Windows Forms.

Właściwość Margin definiuje przestrzeń wokół kontrolki, która utrzymuje inne kontrolki w określonej odległości od jej obramowań.

Właściwość Padding definiuje przestrzeń wewnątrz kontrolki, która utrzymuje zawartość kontrolki (na przykład wartość jej właściwości Text) w określonej odległości od obramowań kontrolki.

Na poniższej ilustracji przedstawiono właściwości Padding i Margin w kontrolce.

wypełnienie i margines kontrolki formularzy Windows

Właściwość AutoSize powoduje, że kontrolka automatycznie dopasowuje swój rozmiar do zawartości. Nie zmniejszy się do rozmiaru mniejszego niż wartość jego oryginalnej właściwości Size i uwzględni wartość swojej właściwości Padding.

Warunki wstępne

Aby ukończyć ten przewodnik, potrzebny będzie program Visual Studio.

Tworzenie projektu

  1. W programie Visual Studio utwórz projekt aplikacji systemu Windows o nazwie .

  2. Wybierz formularz w Windows Forms Designer.

Ustawianie marginesów dla kontrolek

Możesz ustawić domyślną odległość między kontrolkami przy użyciu właściwości Margin. Po przesunięciu kontrolki wystarczająco blisko do innej kontrolki, zobaczysz linię odniesienia, która pokazuje marginesy dla dwóch kontrolek. Element sterujący, który przesuwasz, będzie również dostosowywać się do odległości zdefiniowanej przez marginesy.

Rozmieść kontrolki w formularzu, korzystając z właściwości Margin.

  1. Przeciągnij dwie kontrolki Button z przybornika na Twój formularz.

  2. Wybierz jedną z kontrolek Button i przenieś ją blisko drugiej, dopóki prawie się nie dotkną.

    Zwróć uwagę na linię przyciągania, która pojawia się między nimi. Ta odległość jest sumą wartości Margin dwóch kontrolek. Kontrolka, którą przenosisz, automatycznie dopasowuje się do tej odległości. Aby uzyskać szczegółowe informacje, zobacz Przewodnik : Rozmieszczanie kontrolek w formularzach Windows przy użyciu Snaplin.

  3. Zmień właściwość jednej z kontrolek, rozwiń wpis w oknie Właściwości i ustaw właściwość na 20.

  4. Wybierz jedną z kontrolek Button i przenieś ją blisko drugiego.

    Linia pomocnicza definiująca sumę wartości marginesów jest dłuższa, a kontrolka przyciąga się na większą odległość od innej kontrolki.

  5. Zmień właściwość Margin wybranej kontrolki, rozwijając wpis Margin w oknie właściwości i ustawiając właściwość Top na 5.

  6. Przenieś wybraną kontrolkę poniżej innej kontrolki i sprawdź, czy linia przyciągania jest krótsza. Przenieś wybraną kontrolkę z lewej strony drugiej kontrolki i zwróć uwagę, że linia przyciągania zachowuje wartość obserwowaną w kroku 4.

  7. Można ustawić poszczególne aspekty właściwości Margin, Left, Top, Right, Bottom, na różne wartości lub ustawić je wszystkie na tę samą wartość za pomocą właściwości All.

Ustaw wypełnienie kontrolek

Aby uzyskać dokładny układ wymagany dla Twojej aplikacji, Twoje kontrolki często będą zawierać kontrolki podrzędne. Jeśli chcesz określić bliskość obramowania kontrolki podrzędnej do obramowania kontrolki nadrzędnej, użyj właściwości Padding kontrolki nadrzędnej w połączeniu z właściwością Margin kontrolki podrzędnej. Właściwość Padding jest również używana do kontrolowania bliskości zawartości kontrolki (na przykład właściwości Text kontrolki Button) względem jej obramowania.

Rozmieść kontrolki w formularzu przy użyciu marginesów wewnętrznych

  1. Przeciągnij kontrolkę Button z przybornika na twój formularz.

  2. Zmień wartość właściwości AutoSize kontrolki Button na true.

  3. Zmień właściwość Padding, rozwijając wpis Padding w oknie Właściwości i ustawiając właściwość All na 5.

    Element sterujący rozszerza się, aby zapewnić miejsce na nowe wypełnienie.

  4. Przeciągnij kontrolkę GroupBox z przybornika na swój formularz. Przeciągnij kontrolkę z przybornika do kontrolki . Umieść kontrolkę Button w taki sposób, aby była na poziomie z prawym dolnym rogiem kontrolki GroupBox.

    Zwróć uwagę na linie przyciągania, które są wyświetlane, gdy kontrolka Button zbliża się do dolnej i prawej krawędzi kontrolki GroupBox. Te linie przyciągania odpowiadają właściwości Margin elementu Button.

  5. Zmień właściwość kontrolki , rozwijając wpis w oknie Właściwości i ustawiając właściwość na 20.

  6. Wybierz kontrolkę Button w kontrolce GroupBox i przenieś ją w kierunku środka GroupBox.

    Linie przyciągające pojawiają się w większej odległości od granic kontrolki GroupBox. Ta odległość jest sumą właściwości Margin kontrolki Button i właściwości Padding kontrolki GroupBox.

Kontrolki rozmiaru działają automatycznie

W niektórych aplikacjach rozmiar kontrolki nie będzie taki sam w czasie wykonywania, jak w czasie projektowania. Tekst kontrolki Button, na przykład, może zostać pobrany z bazy danych, a jego długość nie jest znana z wyprzedzeniem.

Gdy właściwość AutoSize jest ustawiona na true, kontrolka dopasuje swój rozmiar do zawartości. Aby uzyskać więcej informacji, zobacz AutoSize Property Overview.

Rozmieszczanie kontrolek w formularzu przy użyciu właściwości AutoSize

  1. Przeciągnij kontrolkę Button z przybornika na formularz.

  2. Zmień wartość właściwości AutoSize kontrolki Button na true.

  3. Zmień właściwość Text kontrolki Button na Ten przycisk ma długi ciąg dla właściwości Text.

    Po zatwierdzeniu zmiany kontrolka Button zmienia rozmiar w celu dopasowania do nowego tekstu.

  4. Przeciągnij kolejną kontrolkę z przybornika na formularz.

  5. Zmień właściwość Text kontrolki Button na "Ten przycisk ma długi ciąg dla właściwości Text."

    Po zatwierdzeniu zmiany kontrolka Button nie zmienia rozmiaru, a tekst jest obcięty przez prawą krawędź kontrolki.

  6. Zmień właściwość Padding, rozwijając wpis Padding w oknie właściwości i ustawiając właściwość All na 5.

    Tekst w środku kontrolki jest przycięty na wszystkich czterech stronach.

  7. Zmień właściwość AutoSize kontrolki Button na true.

    Kontrolka Button zmienia rozmiar, aby obejmowała cały ciąg. Ponadto dodano odstępy wokół tekstu, co powoduje rozszerzenie kontrolki Button we wszystkich czterech kierunkach.

  8. Przeciągnij kontrolkę z przybornika na formularz. Umieść go w pobliżu prawego dolnego rogu formularza.

  9. Zmień wartość właściwości AutoSize kontrolki Button na true.

  10. Ustaw właściwość Anchor kontrolki Button na Right, Bottom.

  11. Zmień właściwość Text kontrolki Button na "Ten przycisk ma długi ciąg dla właściwości Text."

Po zatwierdzeniu zmiany kontrolka Button zmienia rozmiar w kierunku lewej strony. Ogólnie rzecz biorąc, automatyczne ustalanie rozmiaru spowoduje zwiększenie rozmiaru kontrolki w kierunku przeciwległym ustawieniu właściwości Anchor.

Właściwości AutoSize i AutoSizeMode

Niektóre kontrolki obsługują właściwość AutoSizeMode, która pozwala na bardziej szczegółowe kontrolowanie automatycznego dostosowywania wielkości kontrolki.

Użyj właściwości AutoSizeMode

  1. Przeciągnij kontrolkę Panel z przybornika na swój formularz.

  2. Ustaw wartość właściwości AutoSize kontrolki Panel na wartość true.

  3. Przeciągnij kontrolkę z przybornika do kontrolki .

  4. Umieść kontrolkę Button w prawym dolnym rogu kontrolki Panel.

  5. Wybierz kontrolkę Panel i chwyć uchwyt zmiany rozmiaru w prawym dolnym rogu. Zmień rozmiar kontrolki Panel, aby był większy i mniejszy.

    Notatka

    Możesz swobodnie zmienić rozmiar kontrolki Panel, ale nie można jej zmniejszyć niż położenie kontrolki Button w prawym dolnym rogu. To zachowanie jest określane przez wartość domyślną właściwości AutoSizeMode, która jest GrowOnly.

  6. Ustaw wartość właściwości AutoSizeMode kontrolki Panel na wartość GrowAndShrink.

    Kontrolka Panel dostosowuje swój rozmiar, aby otoczyć kontrolkę Button. Nie można zmienić rozmiaru kontrolki Panel.

  7. Przeciągnij kontrolkę Button w kierunku lewego górnego rogu kontrolki Panel.

    Kontrolka Panel zmienia rozmiar zgodnie z nową pozycją kontrolki Button.

Następne kroki

Istnieje wiele innych funkcji układu do rozmieszczania kontrolek w aplikacjach Windows Forms. Oto kilka kombinacji, które można wypróbować:

Zobacz też