Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niektóre aplikacje wymagają formularza z układem, który automatycznie dostosowuje się, gdy zmieniany jest rozmiar formularza lub wielkość zawartości. Jeśli potrzebujesz dynamicznego układu i nie chcesz jawnie obsługiwać Layout zdarzeń w kodzie, rozważ użycie panelu układu.
Kontrolka FlowLayoutPanel i kontrolka TableLayoutPanel oferują intuicyjne sposoby rozmieszczania elementów w formularzu. Oba zapewniają automatyczną, konfigurowalną możliwość kontrolowania względnych pozycji umieszczonych w nich kontrolek podrzędnych oraz dynamiczne funkcje układu w czasie działania, co pozwala na dostosowywanie rozmiaru i położenia kontrolek podrzędnych w miarę zmieniających się wymiarów formularza nadrzędnego. Panele układów można zagnieżdżać w panelach układów, aby umożliwić opracowanie zaawansowanych interfejsów użytkownika.
Element FlowLayoutPanel rozmieści jego zawartość w określonym kierunku przepływu: poziomym lub pionowym. Jego zawartość może być przenoszona z jednego wiersza do następnego lub z jednej kolumny do następnej. Alternatywnie jego zawartość może być obcięta zamiast opakowana. Aby uzyskać więcej informacji, zobacz Przewodnik: rozmieszczanie kontrolek w formularzach systemu Windows przy użyciu kontrolki FlowLayoutPanel.
Obiekt TableLayoutPanel rozmieści swoją zawartość w siatce, zapewniając funkcjonalność podobną do elementu <tabeli HTML>. Kontrolka TableLayoutPanel umożliwia umieszczanie kontrolek w układzie siatki bez konieczności dokładnego określania położenia poszczególnych kontrolek. Jego komórki są rozmieszczone w wierszach i kolumnach oraz mogą mieć różne rozmiary. Komórki można scalić w poprzek wierszy i kolumn. Komórki mogą zawierać wszystko, co może zawierać formularz, i pod względem większości innych cech zachowują się jak kontenery.
Kontrolka TableLayoutPanel zapewnia również proporcjonalną funkcjonalność zmiany rozmiaru w czasie rzeczywistym, dzięki czemu układ może się płynnie dostosowywać przy zmianie rozmiaru formularza. Dzięki temu kontrolka TableLayoutPanel jest odpowiednia do celów, takich jak formularze wprowadzania danych i zlokalizowane aplikacje. Aby uzyskać więcej informacji, zobacz Przewodnik: tworzenie formularza systemu Windows z możliwością zmiany rozmiaru na potrzeby wprowadzania danych i przewodnik: tworzenie lokalizowalnego formularza systemu Windows.
Ogólnie rzecz biorąc, nie należy używać TableLayoutPanel kontrolki jako kontenera dla całego układu. Użyj TableLayoutPanel kontrolek, aby zapewnić proporcjonalne możliwości zmiany rozmiaru części układu.
Zadania przedstawione w tym przewodniku obejmują:
Tworzenie projektu formularzy systemu Windows
Rozmieszczanie kontrolek w wierszach i kolumnach
Ustawianie właściwości wierszy i kolumn
Rozszerzanie wierszy i kolumn za pomocą kontroli
Automatyczna obsługa przepełnień
Wstawianie kontrolek przez dwukrotne kliknięcie ich na pasku narzędzi
Wstawianie kontrolki przez rysowanie jej konturu
Ponowne przypisywanie istniejących kontrolek do innego elementu nadrzędnego
Po zakończeniu będziesz mieć wiedzę na temat roli odgrywanej przez te ważne funkcje układu.
Tworzenie projektu
Pierwszym krokiem jest utworzenie projektu i skonfigurowanie formularza.
Aby utworzyć projekt
Utwórz projekt aplikacji systemu Windows o nazwie "TableLayoutPanelExample". Aby uzyskać więcej informacji, zobacz How to: Create a Windows Forms application project (Jak utworzyć projekt aplikacji Windows Forms).
Wybierz formularz w projektancie formularzy systemu Windows.
Rozmieszczanie kontrolek w wierszach i kolumnach
Kontrolka TableLayoutPanel umożliwia łatwe rozmieszczanie kontrolek w wierszach i kolumnach.
Aby ustawić kontrolki w wierszach i kolumnach za pomocą TableLayoutPanel
Przeciągnij kontrolkę TableLayoutPanel z przybornika na twój formularz. Należy pamiętać, że domyślnie kontrolka TableLayoutPanel ma cztery komórki.
Przeciągnij kontrolkę Button z Przybornika do kontrolki TableLayoutPanel i upuść ją w jedną z komórek. Pamiętaj, że kontrolka Button jest tworzona w wybranej komórce.
Przeciągnij trzy kolejne kontrolki Button z Przybornika do kontrolki TableLayoutPanel, aby każda komórka zawierała przycisk.
Złap pionowy uchwyt do zmiany rozmiaru między dwiema kolumnami i przesuń go w lewo. Należy pamiętać, że rozmiar Button kontrolek w pierwszej kolumnie jest zmieniany na mniejszą szerokość, a rozmiar Button kontrolek w drugiej kolumnie jest niezmieniony.
Chwyć pionowy uchwyt zmiany rozmiaru między dwiema kolumnami i przesuń go w prawo. Należy pamiętać, że kontrolki Button w pierwszej kolumnie zwracają się do oryginalnego rozmiaru, a Button kontrolki w drugiej kolumnie są przenoszone po prawej stronie.
Przesuń uchwyt zmiany rozmiaru do góry i na dół, aby zobaczyć, jak wpływa to na kontrolki w panelu.
Pozycjonowanie kontrolek w komórkach przy użyciu dokowania i zakotwiczenia
Zachowanie zakotwiczenia kontrolek podrzędnych w TableLayoutPanel różni się w porównaniu do zachowania w innych kontenerach. Zachowanie dokowania kontrolek podrzędnych jest takie samo jak w przypadku innych kontrolek kontenerowych.
Pozycjonowanie elementów sterujących w komórkach
Wybierz pierwszą kontrolkę Button. Zmień wartość jej Dock właściwości na Fill. Pamiętaj, że kontrolka Button rozszerza się, aby wypełnić komórkę.
Wybierz jedną z pozostałych Button kontrolek. Zmień wartość jej Anchor właściwości na Right. Należy pamiętać, że jest przesunięty tak, aby jego prawa krawędź znajdowała się blisko prawej krawędzi komórki. Odległość między obramowaniami to suma Button właściwości kontrolki Margin i właściwości panelu Padding .
Zmień wartość Button właściwości kontrolki Anchor na Right i Left. Należy pamiętać, że kontrolka ma rozmiar dostosowany do szerokości komórki, uwzględniając wartości Margin i Padding.
Ustawianie właściwości wierszy i kolumn
Poszczególne właściwości wierszy i kolumn można ustawić przy użyciu kolekcji RowStyles i ColumnStyles.
Aby ustawić właściwości wiersza i kolumny
Wybierz kontrolkę TableLayoutPanel w projektancie formularzy systemu Windows.
W oknie Właściwości otwórz kolekcję, klikając przycisk wielokropka (
) obok wpisu Kolumny.Wybierz pierwszą kolumnę i zmień wartość jej SizeType właściwości na AutoSize. Kliknij przycisk OK , aby zaakceptować zmianę. Należy pamiętać, że szerokość pierwszej kolumny jest ograniczona, aby dopasować kontrolkę Button . Należy również zauważyć, że szerokość kolumny nie może być zmieniana.
W oknie Właściwości otwórz ColumnStyles kolekcję i wybierz pierwszą kolumnę. Zmień wartość jej SizeType właściwości na Percent. Kliknij przycisk OK , aby zaakceptować zmianę. Zmień rozmiar kontrolki TableLayoutPanel na większą szerokość i zwróć uwagę, że szerokość pierwszej kolumny jest rozszerzana. Zmień rozmiar kontrolki TableLayoutPanel na mniejszą szerokość i zwróć uwagę, że przyciski w pierwszej kolumnie mają rozmiar pasujący do komórki. Należy również pamiętać, że szerokość kolumny może być zmieniana.
W oknie Właściwości otwórz ColumnStyles kolekcję i wybierz wszystkie wymienione kolumny. Ustaw wartość każdej SizeType właściwości na Percent. Kliknij przycisk OK , aby zaakceptować zmianę. Powtórz operację dla kolekcji RowStyles.
Pobierz jeden z uchwytów zmiany rozmiaru rogu i zmień rozmiar zarówno szerokości, jak i wysokości kontrolki TableLayoutPanel . Pamiętaj, że rozmiar wierszy i kolumn jest zmieniany w miarę zmiany rozmiaru TableLayoutPanel kontrolki. Należy również pamiętać, że wiersze i kolumny można zmieniać rozmiar za pomocą uchwytów zmiany rozmiaru poziomych i pionowych.
Rozszerzanie wierszy i kolumn za pomocą kontroli
Kontrolka TableLayoutPanel dodaje kilka nowych właściwości do kontrolek w czasie projektowania. Dwie z tych właściwości to RowSpan i ColumnSpan. Tych właściwości można użyć, aby kontrolka obejmowała więcej niż jeden wiersz lub kolumnę.
Aby obejmować wiersze i kolumny za pomocą kontrolki
Wybierz kontrolkę Button w pierwszym wierszu i pierwszej kolumnie.
W oknach Właściwości zmień wartość
ColumnSpanwłaściwości na 2. Należy pamiętać, że kontrolka Button wypełnia pierwszą kolumnę i drugą kolumnę. Należy również pamiętać, że dodano dodatkowy wiersz, aby uwzględnić tę zmianę.Powtórz krok 2 dla właściwości
RowSpan.
Wstawianie kontrolek przez dwukrotne kliknięcie ich na pasku narzędzi
Kontrolkę TableLayoutPanel można wypełnić, klikając dwukrotnie kontrolki w przyborniku.
Aby wstawić kontrolki, kliknij dwukrotnie w Narzędziowniku
Przeciągnij kontrolkę TableLayoutPanel z przybornika na twój formularz.
Kliknij dwukrotnie ikonę kontrolki Button w przyborniku . Pamiętaj, że nowa kontrolka przycisku pojawia się w pierwszej komórce kontrolki TableLayoutPanel.
Kliknij dwukrotnie kilka kontrolek w przyborniku. Należy pamiętać, że nowe elementy sterujące są wyświetlane kolejno w niezajętych komórkach w kontrolce TableLayoutPanel. Należy również pamiętać, że kontrolka TableLayoutPanel rozszerza się, aby pomieścić nowe kontrolki, jeśli nie są dostępne otwarte komórki.
Automatyczna obsługa przepełnień
Podczas wstawiania kontrolek do kontrolki TableLayoutPanel może zabraknąć pustych komórek dla nowych kontrolek. Kontrolka TableLayoutPanel automatycznie obsługuje tę sytuację, zwiększając liczbę komórek.
Aby obserwować automatyczną obsługę przepełnień
Jeśli w kontrolce TableLayoutPanel nadal znajdują się puste komórki, kontynuuj wstawianie nowych Button kontrolek do momentu zapełnienia kontrolki TableLayoutPanel .
Gdy kontrolka TableLayoutPanel jest pełna, kliknij dwukrotnie ikonę Button w przyborniku , aby wstawić inną Button kontrolkę. Należy pamiętać, że kontrolka TableLayoutPanel tworzy nowe komórki, aby pomieścić nową kontrolkę. Wstaw kilka kolejnych kontrolek i obserwuj zachowanie zmiany rozmiaru.
Zmień wartość właściwości TableLayoutPanel kontrolki GrowStyle na FixedSize. Kliknij dwukrotnie ikonę Button w przyborniku, aby wstawić kontrolki do momentu zapełnienia Button kontrolkiTableLayoutPanel. Ponownie kliknij dwukrotnie ikonę Button w przyborniku. Zwróć uwagę, że w programie Windows Forms Designer zostanie wyświetlony komunikat o błędzie informujący, że nie można utworzyć dodatkowych wierszy i kolumn.
Wstawianie kontrolki przez rysowanie jej konturu
Kontrolkę można wstawić do kontrolki TableLayoutPanel i określić jej rozmiar, rysując jego kontur w komórce.
Aby wstawić kontrolkę, rysując jej kontur
Przeciągnij kontrolkę TableLayoutPanel z przybornika na twój formularz.
W przyborniku kliknij ikonę kontrolki Button. Nie przeciągaj go na formularz.
Przesuń wskaźnik myszy nad kontrolką TableLayoutPanel . Zwróć uwagę, że wskaźnik zmienia się na krzyżyk z dołączoną ikoną kontrolki Button.
Kliknij i przytrzymaj przycisk myszy.
Przeciągnij wskaźnik myszy, aby narysować kontur kontrolki Button. Jeśli rozmiar jest zadowalający, zwolnij przycisk myszy. Należy pamiętać, że kontrolka Button jest tworzona w komórce, w której nakreśliłeś zarys kontrolki.
Wiele kontrolek w komórkach jest niedozwolonych
Kontrolka TableLayoutPanel może zawierać tylko jedną kontrolkę podrzędną na komórkę.
Aby zademonstrować, że nie jest dozwolone używanie wielu kontrolek wewnątrz komórek
- Przeciągnij kontrolkę Button z Przybornika do kontrolki TableLayoutPanel i upuść ją w jedną z zajętych komórek. Należy pamiętać, że kontrolka TableLayoutPanel nie umożliwia porzucania kontrolki Button do zajętej komórki.
Zamienianie kontrolek
Kontrolka TableLayoutPanel umożliwia zamianę kontrolek zajmujących dwie różne komórki.
Aby zamienić kontrolki
- Przeciągnij jedną z Button kontrolki z zajętej komórki i upuść ją na inną zajętą komórkę. Należy pamiętać, że dwie kontrolki są przenoszone z jednej komórki do drugiej.
Dalsze kroki
Można osiągnąć złożony układ przy użyciu kombinacji paneli i kontrolek układu. Sugestie dotyczące większej liczby eksploracji obejmują:
Spróbuj zmienić rozmiar jednego z Button kontrolek na większy rozmiar i zanotuj wpływ na układ.
Wklej zaznaczenie wielu kontrolek do kontrolki i zwróć uwagę na TableLayoutPanel sposób wstawiania kontrolek.
Panele układu mogą zawierać inne panele układu. Poeksperymentuj z umieszczeniem TableLayoutPanel kontrolki w istniejącej kontrolce.
Zadokuj kontrolkę TableLayoutPanel do formularza nadrzędnego. Zmień rozmiar formularza i zanotuj wpływ na układ.
Zobacz także
- FlowLayoutPanel
- TableLayoutPanel
- Przewodnik: Rozmieszczanie kontrolek w formularzach systemu Windows przy użyciu FlowLayoutPanel
- Przewodnik: Rozmieszczanie kontrolek w formularzach Windows przy użyciu linii przyciągania
- Przewodnik: tworzenie formularza systemu Windows z możliwością zmiany rozmiaru na potrzeby wprowadzania danych
- Przewodnik: tworzenie lokalizowalnego formularza systemu Windows
- Najlepsze praktyki dla kontrolki TableLayoutPanel
- AutoSize Property Overview (Omówienie właściwości autosize)
- Instrukcje: Dokowanie kontrolek w formularzach Windows Forms
- Instrukcje: kotwiczenie kontrolek w formularzach Windows Forms
- Przewodnik: układanie kontrolek formularzy Windows z użyciem wypełnień, marginesów i właściwości AutoSize
.NET Desktop feedback