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

Inne Kategorie

Tworzenie aplikacji w języku C#

Tim Corey
1h 35m

Windows Forms App to API graficznego interfejsu użytkownika, dołączonego jako część Microsoft .NET Framework. Zapewnia platformę do tworzenia zaawansowanych aplikacji desktopowych, a film Tima Coreya o "Intro to Windows Forms in .NET 6" oferuje kompleksowe wprowadzenie do budowania aplikacji przy użyciu tej technologii. Poniżej znajduje się szczegółowe spojrzenie na koncepcje omówione w filmie, zainspirowane filmem Tima.

Rozpoczęcie pracy z Windows Forms

Tim Corey rozpoczyna swój samouczek od rozpoczęcia nowego projektu Windows Forms w .NET 6. Punkt startowy obejmuje stworzenie nowego projektu w Visual Studio poprzez wybranie 'create', następnie wybranie odpowiednich szablonów, a na końcu ustawienie początkowej formy (Form1). To jest kluczowe dla początkujących, aby zrozumieć, jak zacząć projekt i uruchomić swoją pierwszą formę.

Ustawienie projektu:

Tim przeprowadza przez proces tworzenia nowego projektu w Visual Studio, podkreślając znaczenie wyboru odpowiednich szablonów i konfiguracji dla aplikacji Windows Forms. To obejmuje wybranie typu "Windows Forms App", odpowiednie nazwazenie projektu, w tym przypadku "WinFormsDemoApp", oraz wybór .NET 6.0 jako docelowego frameworku (2:05).

Project Setup

Po kliknięciu 'create', kiedy okno projektu się pojawi, znajdziesz domyślną formę Windows wraz ze wszystkimi plikami szablonu w oknie explorer rozwiązania po lewej stronie edytora kodu. Domyślna forma opiera się na podstawowej strukturze interfejsu użytkownika Windows, z paskiem tytułu zawierającym tytuł aplikacji Windows Forms oraz kontrolki minimalizacji, maksymalizacji i zamykania.

Solution Explorer

Szybki rozwój aplikacji z Windows Forms

Tim w swoim filmie omawia koncept Rapid Application Development (RAD) używając Windows Forms, podkreślając łatwość i wydajność tworzenia prototypów i dowodów konceptu.

Zrozumienie Rapid Application Development

Tim rozpoczyna od omówienia koncepcji RAD, która skupia się na szybkim rozwoju aplikacji w celu weryfikacji pomysłów i funkcjonalności.

Tworzenie dowodu konceptu

  1. Używanie okna Toolbox: Tim demonstruje, jak deweloperzy mogą wykorzystać okno Toolbox w Visual Studio, które zawiera różne kontrolki niezbędne do rozwoju aplikacji.

  2. Funkcjonalność przeciągania i upuszczania: Ilustruje proces dodawania kontrolek poprzez przyciąganie i upuszczanie na powierzchnię projektu, jak przyciski, pola tekstowe, etykiety i pola wyboru.

Budowanie podstawowej aplikacji

  1. Układ i projekt: Tim wyjaśnia elastyczność rozmieszczania kontrolek na formie, wyrównując je przy użyciu przewodników wyrównania Visual Studio.

  2. Kopiowanie i wklejanie kontrolek: Pokazuje, jak deweloperzy mogą szybko duplikówać kontrolki, używając skrótów klawiaturowych, takich jak Ctrl+C i Ctrl+V, usprawniając proces projektowy.

Elementy funkcjonalne

  1. Konfiguracja kontrolek: Tim przykładowo konfiguruje kontrolki, takie jak pasek postępu, poprzez dostosowanie własności bezpośrednio w oknie właściwości. Ta interakcja demonstruje zmiany w czasie rzeczywistym w wizualnych komponentach aplikacji.

  2. Interaktywna podgląd: Uruchamiając aplikację, Tim pokazuje, jak te podstawowe komponenty mogą być używane interaktywnie, nawet jeśli ich funkcjonalność nie jest jeszcze w pełni zaimplementowana.

Running Basic Application

Błąd Designer Broke

Tim Corey wyjaśnia różne sposoby, w jakie projektant Windows Forms może zostać uszkodzony oraz jak deweloperzy zazwyczaj napotykają ten problem.

  • Niespodziewane modyfikacje: Jeśli deweloperzy przypadkowo usuną lub zmodyfikują kluczowe części automatycznie generowanego kodu w Form1.Designer.cs, takie jak obsługa zdarzeń lub inicjalizacja kontrolek, może to spowodować, że projektant przestanie działać.

  • Niespójne zmiany w kodzie: Błędy mogą powstać, gdy występują rozbieżności między ręcznie edytowanym kodem a kodem generowanym przez projektanta. Na przykład, usunięcie obsługi zdarzenia w jednej klasie częściowej (Form1.cs), ale nie w drugiej (Form1.Designer.cs), może prowadzić do niezgodności, która uniemożliwia prawidłowe załadowanie formy w projektancie.

Czytanie komunikatów o błędach

Tim Corey podkreśla znaczenie starannego interpretowania komunikatów o błędach dostarczonych przez Visual Studio przy rozwiązywaniu problemów związanych z projektantem Windows Forms.

  • Szczegóły komunikatu o błędzie: Tim zwraca uwagę na specyficzne komunikaty o błędach, takie jak "Projektant nie mógł przetworzyć nieznanej nazwy 'form1_load' w linii 153", które wskazują, gdzie i dłączego projektant napotkał problem.

  • Wskazówki dotyczące rozwiązania: Komunikaty o błędach często zapewniają akcjonalne kroki, takie jak przywrócenie zmian wprowadzonych do generowanego kodu lub zapewnienie spójności we wszystkich klasach częściowych (Form1.cs i Form1.Designer.cs).

Usunięcie obsługi zdarzenia z innej klasy częściowej także

Tim pokazuje praktyczne rozwiązanie do usuwania problemów projektanta spowodowanych niespójną modyfikacją obsługi zdarzeń w różnych klasach częściowych formy.

  • Przykładowy scenariusz: Wyjaśnia, jak usunięcie obsługi zdarzenia (Form1_Load) w jednej częściowej klasie (Form1.cs) lecz nie w drugiej (Form1.Designer.cs) może zakłócić zdolność projektanta do prawidłowego ładowania formy.

  • Jednolite modyfikacje: Zapewniając, że wszystkie modyfikacje są stosowane konsekwentnie we wszystkich klasach częściowych, deweloperzy mogą skutecznie przywrócić funkcjonalność do projektanta Windows Forms bez uciekania się do drastycznych środków, takich jak restarting Visual Studio lub odtwarzanie projektu.

Obsługa innych zdarzeń w Windows Forms

1. Mechanizm obsługi zdarzeń

Tim wyjaśnia mechanizm obsługi zdarzeń w Windows Forms. Kiedy używasz projektanta Windows Forms, Tim zauważa, że podwójne kliknięcie na kontrolce, takiej jak forma sama w sobie, generuje domyślną obsługę zdarzeń dla tej kontrolki. Na przykład, podwójne kliknięcie na formie tworzy obsługę zdarzenia Load. Tim ostrzega, że jeśli deweloperzy usuną kod wewnątrz obsługi bez usuwania samej obsługi zdarzenia, to zakłóca renderowanie formy w projektancie. Dzieje się tak, ponieważ projektant tłumaczy układ wizualny na kod, który jest niezbędny do prawidłowego renderowania formy w czasie uruchamiania.

2. Zrozumienie formy jako klasy

Tim wyjaśnia, że Windows Forms to w zasadzie klasy dziedziczone z Form, które zapewniają funkcjonalności takie jak układ formy, zarządzanie oknami (przyciski minimalizacji, maksymalizacji, zamknięcia), możliwości zmiany rozmiaru i więcej. Według Tima, to dziedziczenie pozwala deweloperom korzystać z wcześniej zbudowanych komponentów UI (Button, TextBox, Label itp.) oraz manipulowanie nimi poprzez modyfikację ich właściwości i metod.

3. Manipulowanie właściwościami

W wideo o godz. 29:16, Tim Corey pokazuje, jak właściwości w Windows Forms, widoczne w oknie Właściwości Visual Studio, umożliwiają deweloperom konfigurowanie elementów wizualnych takich jak etykiety (właściwość Text), przyciski (właściwość Text, zdarzenie Click) oraz paski postępu (właściwość Value). Tim podkreśla, że te właściwości mogą być modyfikowane zarówno w czasie projektowania, jak i w czasie uruchamiania, wpływając na sposób zachowania się kontrolek oraz ich wygląd na formie.

4. Tworzenie wielu instancji

Tim wyjaśnia, że każda forma (Form1, Form2, itp.) w Windows Forms jest instancją klasy (Form). Tworząc wiele instancji dynamicznie, deweloperzy mogą skutecznie zarządzać wieloma oknami w aplikacji. Tim sugeruje, że ta zdolność ułatwia szybki rozwój aplikacji (RAD), pozwalając na szybkie projektowanie, dostosowywanie i łączenie form w celu stworzenia złożonych interfejsów użytkownika.

5. Konfiguracja startowa aplikacji

Metoda Main w Program.cs określa punkt startowy aplikacji poprzez określenie, która forma (Form1, Form2, itd.) ma zostać zainicjalizowana jako pierwsza przy użyciu Application.Run(new Form1()). Tim podkreśla, że zmiana tej formy startowej zmienia początkowy widok prezentowany użytkownikom po uruchomieniu aplikacji, wpływając na jej przepływ i doświadczenie użytkownika.

Menu i paski narzędzi w Windows Forms

Tim demonstruje wszechstronność WinForms poprzez pokazanie menu i pasków narzędzi. Wyjaśnia, jak łatwo jest dodać i dostosować te elementy w formie. Oto kluczowe punkty, które omawia Tim:

Dodawanie paska statusu

Tim Corey pokazuje, jak zwiększyć interakcję użytkownika poprzez dodanie kontrolki StatusStrip do formy. Ta kontrolka zawiera komponenty takie jak ToolStripProgressBar i ToolStripStatusLabel. Korzystając z funkcjonalności przeciągania i upuszczania w Visual Studio, deweloperzy mogą szybko dodawać te elementy, aby wyświetlać dynamiczne informacje, takie jak postępy zadań lub wiadomości o stanie.

Dostosowywanie pasków menu

Corey podkreśla znaczenie przestrzegania standardów Windows przy projektowaniu pasków menu (MenuStrip) dla aplikacji Windows Forms. Wyjaśnia, jak używać ampersanta (&) do wyznaczania skrótów klawiszowych i podkreśleń (_) dla dostępności, zapewniając użytkownikom możliwość nawigacji po menu za pomocą poleceń klawiaturowych. Na przykład, przypisanie &File z &Exit podkreślonym jako E pozwala użytkownikom szybko uzyskiwać dostęp i wykonywać polecenia bez polegania na interakcjach z myszą.

Tworzenie podmenu i zdarzeń

Corey ilustruje, jak tworzyć podmenu pod MenuStrip i powiązać zdarzenia z elementami menu. Poprzez podwójne kliknięcie na elementach menu, programiści mogą generować obsługę zdarzeń i implementować funkcje, takie jak wyświetlanie wiadomości (MessageBox) lub wykonywanie działań, takich jak zamknięcie aplikacji (this.Close()). Podkreśla znaczenie stosowania właściwych konwencji nazewnictwa i najlepszych praktyk dla utrzymania czytelności i skalowalności kodu.

Menus and Toolbars

Najlepsze praktyki i wskazówki od Tima Coreya

Tim Corey podkreśla rozpoczęcie projektu WinForms od poprawnego nazwania domyślnej formy (Form1) na bardziej znaczącą nazwę, np. MainForm (1:02:01). Ten prosty krok zapewnia spójność w całym projekcie, aktualizując odniesienia w całej bazie kodu bezproblemowo.

Dostosowywanie właściwości formy

Następnie Tim podkreśla znaczenie wstępnego dostosowania właściwości formy. Dostosowanie właściwości Text samej formy, aby odzwierciedlała jej cel (np. "Main Form by Tim Corey"), zwiększa przejrzystość i organizację w środowisku Visual Studio. Dodatkowo, ustawienie rozmiaru czcionki (zazwyczaj około 14-18 punktów) i rozmiaru formy (szerokość i wysokość) odpowiednio zapewnia czytelność bez deformowania układu innych kontrolek.

Zarządzanie właściwościami kontrolek

Corey podkreśla pułapki domyślnych właściwości kontrolek przy zmianie ustawień ogólnych formy po dodaniu kontrolek. Następnie dodaje etykietę, pole tekstowe i przycisk do formy i pokazuje, że automatycznie przyjmuje rozmiar czcionki wybrany dla formy. Demonstruje, jak zmiana rozmiaru czcionki wpływa na wszystkie kontrolki, zachęcając deweloperów do ustalenia tych ustawień na wczesnym etapie, aby uniknąć niezamierzonych zmian układu później. Jeśli zmienisz wartość właściwości dla każdej kontrolki, nie przyjmuje domyślnych wartości formy (1:06:33).

Konwencje nazw kontrolek

Jedna z kluczowych lekcji wideo Tima to używanie znaczących konwencji nazw dla kontrolek. Zamiast tradycyjnych "lblFirstName" czy "txtFirstName", Corey zaleca użycie stylu camelCase dla zmiennych (firstNameLabel, firstNameTextBox) i dodanie nazwy kontrolki na końcu.

Obsługa zdarzeń i konwencje nazewnictwa

Wartościową praktyką, którą zaleca Tim, jest nadawanie nazw kontrolkom i obsługa zdarzeń w sposób spójny. Przez nadawanie kontrolkom intuicyjnych nazw od samego początku (sayHelloButton, firstNameTextBox), deweloperzy usprawniają obsługę zdarzeń. To podejście zapobiega zamieszaniu przy obsłudze wielu zdarzeń na różnych formach i wzmacnia utrzymanie kodu.

Pokazuje to, pokazując różnicę między nadaniem odpowiednich nazw przyciskom w porównaniu do pozostawienia ich jako domyślne, takie jak button1, button2 itp. To podejście współgra z nowoczesnymi praktykami kodowania, umożliwiając szybkie wyszukiwanie i poprawiając czytelność, co sprawia, że łatwiej zrozumieć cel każdej kontrolki na pierwszy rzut oka.

Implementowanie kolejności Tab i dostępności

Kolejnym kluczowym aspektem jest ustawienie porządku Tab dla kontrolek. Tim wyjaśnia, jak używać właściwości TabIndex, aby zapewnić użytkownikom możliwość logicznej nawigacji po formie z użyciem klawisza Tab. To nie tylko poprawia doświadczenia użytkownika, ale również zwiększa dostępność dla użytkowników, którzy polegają na nawigacji klawiaturowej.

Przesyłanie danych między formami

Rozbudowując możliwości WinForms, Tim omawia przesyłanie danych między różnymi formami. Pokazuje, jak zdefiniować konstruktory w formach, aby ułatwić wymianę danych. Ta technika pozwala deweloperom inicjalizować nowe formy z konkretnymi danymi, zwiększając elastyczność w projektowaniu aplikacji.

Wnioski

Samouczek Tima Coreya na temat Windows Forms w .NET 6 to cenne źródło dla każdego, kto chce nauczyć się rozwoju aplikacji desktopowych z użyciem C#. Film obejmuje szeroki zakres tematów, od podstawowej konfiguracji po zaawansowane elementy sterujące i najlepsze praktyki, zapewniając solidne podstawy do tworzenia profesjonalnych aplikacji Windows Forms w języku C#.

Aby uzyskać szczegółowy przewodnik z większym kontekstem i dodatkowymi praktycznymi przykładami kodowania, możesz obejrzeć pełny film instruktażowy Tima Coreya tutaj.

Hero Worlddot related to Tworzenie aplikacji w języku C#
Hero Affiliate related to Tworzenie aplikacji w języku C#

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