Przejdź do treści stopki
Iron Academy Logo
Aplikacja C#
Aplikacja C#

Inne Kategorie

Eksploracja projektowania formularzy C# z Timem Coreyem — prowadzone przejście

Tim Corey
1h 06m 41s

W tej lekcji Tim Corey przeprowadza nas przez proces budowania interfejsu użytkownika dla aplikacji Windows Forms w C#. Wyjaśnia, że celem nie jest jeszcze pisanie logiki, ale przekształcenie szkiców planistycznych z wcześniejszych lekcji w rzeczywiste, działające formularze. Tim podkreśla, że najpierw skupimy się na projektowaniu, a później połączymy wszystko z kodem. To głębsze spojrzenie na temat budowania formularzy C#, a wideo Tima pomaga wyjaśnić, jak krok po kroku skonstruować aplikację Windows Forms w środowisku Visual Studio.

Wprowadzenie do Budowania Formularzy

Tim zaczyna, witając nas na lekcji siódmej i jasny cel: budujemy formularze. Przypomina nam, że jest to podobne do pracy nad biblioteką klas, ale teraz wdrażamy rzeczywisty interfejs użytkownika na podstawie naszych wcześniejszych planistycznych szkiców. Tim zauważa, że możemy być skłonni dodać kod na tym etapie, ale zachęca nas do skoncentrowania się tylko na budowaniu formularzy.

Wyjaśnia również, że nasze wcześniejsze projekty były zgrubnymi szkicami, a teraz dbamy o to, aby formularze dobrze wyglądały. Tim stwierdza, że przewodnik projektowy jest ważny, i choć nie pokaże eksperymentów, przez które przeszedł, przeprowadzi nas przez końcowe wyniki. Wskazuje również, że projekty z kroku czwartego planowania są podstawą tej lekcji, i sugeruje powrót do tych projektów, jeśli to konieczne.

Dodawanie Nowego Projektu i Rozpoczęcie Aplikacji Windows Forms

Tim pokazuje, jak dodać nowy projekt do rozwiązania. W Eksploratorze rozwiązań klika prawym przyciskiem myszy rozwiązanie, wybiera Dodaj Nowy Projekt i wybiera Windows Form Application. Tworzy to nowy typ projektu specjalnie do budowania aplikacji desktopowych Windows. Nadaje projektowi nazwę Tournament Tracker UI.

Wyjaśnia, że domyślny plik Form1.cs jest automatycznie generowany podczas tworzenia aplikacji Windows Forms. Ponieważ aplikacja potrzebuje startowego formularza, Tim decyduje się go nie usuwać. Zamiast tego zmienia nazwę pliku i klasy na TournamentViewerForm oraz akceptuje monit o zmianę nazwy wszystkich odwołań. To zapewnia, że główne okno aplikacji będzie działać poprawnie.

Zmiana Nazwy Klasy Formularza

Tim podkreśla, że musisz mieć uruchamialny formularz w aplikacji Windows Forms. Wyjaśnia, że jeśli usuniesz domyślny Form1.cs, musisz ręcznie zaktualizować punkt wejścia w Program.cs. Aby uniknąć tej złożoności, Tim po prostu zmienia nazwę formularza. To typowy krok przy zakładaniu aplikacji Windows Forms: zmiana nazwy klasy i pliku, aby dopasować je do celu projektu.

Używanie Okna Właściwości

Tim otwiera okno Właściwości i zaczyna modyfikować właściwości formularza. Zmienia właściwość Text na "Tournament Viewer", aby pasek tytułu wyświetlał poprawną nazwę.

Następnie zmienia kolor tła z domyślnego szarego Visual Studio na biały, wyjaśniając, że biały jest bardziej nowoczesny i nie odwraca uwagi od treści formularza. To część ustanawiania przewodnika projektowego dla interfejsu użytkownika.

Następnie zmienia czcionkę na nowoczesną 16-punktową i wyjaśnia, dlaczego należy to zrobić wcześniej: dodane później elementy będą automatycznie dziedziczyć nową czcionkę. Tim wyjaśnia, że to ważna wskazówka, jak efektywnie budować formularze.

Zmiana Ikony i Zasobów

Tim zmienia ikonę formularza, importując niestandardowy plik ikony. Wyjaśnia, że użył darmowego narzędzia o nazwie Metro Studio do stworzenia ikony. Dzięki temu unika pisania lub projektowania ikon od podstaw. Zauważa również, że zamierza używać tej samej ikony we wszystkich formularzach, aby stworzyć spójny wygląd aplikacji.

Dodawanie Kontrolek do Formularza

Tim zaczyna budować interfejs użytkownika, przeciągając kontrolki z narzędziowników na formularz. Dodaje etykietę nagłówkową i zmienia jej właściwości:

  • ForeColor → RGB (51, 153, 255)

  • Czcionka → Light, 28

  • Tekst → "Turniej:"

  • Nazwa → "headerLabel"

Następnie kopiuje i wkleja etykietę nagłówkową, aby utworzyć etykietę nazwy turnieju, tymczasowo ustawiając jej tekst na "Brak" i nazywając ją tournamentNameLabel. Tim wyjaśnia, że kopiowanie i wklejanie kontrolek jest szybkim sposobem na zachowanie spójnego stylu i oszczędność czasu.

Dodawanie Kontrolek Wyboru Rund

Tim dodaje etykietę Rundy i rozwijane ComboBox. Zmienia czcionkę etykiety na 20 i ustawia kolor na ten sam niebieski akcent. Używa przewodników wyrównywania Visual Studio, aby zapewnić, że kontrolki są prawidłowo wyrównane.

Następnie dodaje pole wyboru oznaczone "Tylko nierozgrywane". Zmienia jego styl na płaski i modyfikuje kolor zaznaczenia na niebieski. Tim również wyjaśnia swoją konwencję nazw, dodając typ kontrolki na końcu (np. roundDropDown, unplayedOnlyCheckbox), aby ułatwić wyszukiwanie i nawigację po kodzie.

Dodawanie Listy Meczów i Kontrolek Wyników

Tim dodaje ListBox o nazwie matchupListBox i ustawia jego styl obramowania na fixed single. Wyjaśnia, że ListBox zachowuje się podobnie do ComboBox, co ułatwia późniejsze kodowanie.

Następnie dodaje etykiety i pola tekstowe dla nazw drużyn i wyników. Demonstruje potężną technikę: wybieranie kilku elementów, ich kopiowanie i wklejanie razem. Ta technika zachowuje odstępy i układ, przyspieszając proces projektowania.

Tim wyjaśnia również, że musisz poprawnie nazywać każdą kontrolkę, unikając domyślnych nazw, takich jak label1 czy textBox2, które mogą później powodować zamieszanie.

Dodawanie Etykiety VS i Przycisku Wyniku

Tim dodaje etykietę "VS" między dwiema sekcjach drużyn. Następnie dodaje przycisk Wynik i dostosowuje jego styl:

  • FlatStyle → Flat

  • BorderColor → Silver

  • MouseDownBackColor → (102, 102, 102)

  • MouseOverBackColor → (242, 242, 242)

  • Czcionka → Semi-bold, 16

  • ForeColor → (51, 153, 255)

  • Tekst → "Wynik"

Wyjaśnia, że te ustawienia sprawiają, że przycisk wygląda nowocześnie i responsywnie, zwłaszcza gdy użytkownik najeżdża na niego myszą lub klika.

Uruchamianie Formularza

Tim wyjaśnia, że projekt ma obecnie nieprawidłowy projekt startowy. Biblioteka klas jest pogrubiona w Eksploratorze rozwiązań, co oznacza, że jest ustawiona jako projekt startowy, ale biblioteka klas nie może działać samodzielnie. Ustawia Tracker UI jako projekt startowy.

Kiedy uruchamia aplikację, formularz pojawia się ze stylistyką Windows 10. Tim wskazuje zachowania przycisku na hover i click, pokazując, że interfejs jest responsywny i nowoczesny.

Formularz Create Tournament

Tim dodaje nowy formularz o nazwie CreateTournamentForm i ustawia jego właściwości (czcionka, kolor, ikona). Kopiuje kontrolki z formularza Tournament Viewer, aby przyspieszyć rozwój.

Dodaje:

  • Wejście nazwy turnieju

  • Wejście opłaty wpisowej (domyślna wartość 0)

  • Rozwijane menu dodawania drużyny

  • Etykieta linku tworzenia drużyny

  • Przycisk dodawania drużyny

  • Przycisk tworzenia nagrody

  • Pole listy graczy turnieju

  • Przyciski usuwania

  • Przycisk tworzenia turnieju

Tim wyjaśnia swoją decyzję projektową, aby zachować niebieską etykietę linku, ponieważ użytkownicy są przyzwyczajeni do rozpoznawania niebieskiego podkreślonego tekstu jako link.

Utwórz formularz drużyny

Tim tworzy CreateTeamForm i dodaje:

  • Wejście nazwy drużyny

  • Rozwijane menu wyboru członka drużyny

  • Przycisk dodawania członka

  • Pole grupy do dodawania nowych członków

  • Pola imienia, nazwiska, e-mail i telefonu komórkowego

  • Przycisk tworzenia członka

  • Pole listy członków drużyny

  • Przycisk usuwania wybranego członka

  • Przycisk tworzenia drużyny

Wyjaśnia, że pole grupy zapewnia wizualne granice i ułatwia zarządzanie grupowanymi kontrolkami. Pomaga również podczas przesuwania grupy jako jednostki.

Utwórz formularz nagrody

Tim tworzy CreatePrizeForm z:

  • Wejście numeru miejsca

  • Wejście nazwy miejsca

  • Wejście kwoty nagrody

  • Wejście procentu nagrody

  • Etykieta "Lub"

  • Przycisk tworzenia nagrody

Używa narzędzi wyrównywania, aby układ wyglądał czysto i profesjonalnie.

Formularz panelu kontrolnego turnieju

Tim tworzy ostatni formularz: TournamentDashboardForm. Dodaje:

  • Rozwijane menu ładowania istniejącego turnieju

  • Przycisk ładowania turnieju

  • Przycisk tworzenia turnieju

Używa narzędzi wyrównania i odstępów, aby układ był wizualnie zbilansowany.

Porady dotyczące Nazewnictwa i Organizacji

Tim podkreśla znaczenie prawidłowego nazewnictwa. Pokazuje, jak rozwijane menu Właściwości może pomóc w identyfikacji nienazwanych kontrolek, takich jak label1 lub textBox2, które zostały przypadkowo pozostawione. Demonstruje, jak zmienić nazwę pola grupy na addNewMemberGroupBox dla jasności.

Ustawianie Formularza Początkowego

Tim wyjaśnia, jak zmienić formularz startowy w Program.cs. Zmienia:

Application.Run(new TournamentViewerForm());

na:

Application.Run(new TournamentDashboardForm());

Wyjaśnia, że ta linia tworzy instancję formularza i zatrzymuje aplikację, dopóki formularz nie zostanie zamknięty.

Dlaczego Główne Ma Znaczenie

Tim porównuje Windows Forms do aplikacji konsolowych: obie mają statyczne void Main. Wyjaśnia, że gdy Main się zakończy, aplikacja zostaje zamknięta. Dlatego formularz musi pozostać otwarty, aby aplikacja działała.

Zauważa również, że Visual Studio zawiera komentarze XML, i zachęca do dodawania dokumentacji XML dla metod później.

Co dalej

Tim kończy lekcję, stwierdzając, że następnym krokiem jest połączenie formularzy z logiką. Uspokaja widzów, że nadchodzi zniechęcająca część, ale będzie do opanowania, gdy formularze zostaną zbudowane. Mówi, że logika przypomina składanie klocków LEGO, a trudna część stopniowo zniknie w miarę postępów.

Hero Worlddot related to Eksploracja projektowania formularzy C# z Timem Coreyem — prowadzone przejście
Hero Affiliate related to Eksploracja projektowania formularzy C# z Timem Coreyem — prowadzone przejście

Zarabiaj więcej, dzieląc się tym, co kochasz

Tworzysz treści dla deweloperów pracujących z .NET, C#, Java, Python, czy Node.js? Zamień swoją wiedzę specjalistyczną na dodatkowy dochód!

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie