BitEdu - liceum i technikum
INF.04
Lekcje otwarte możesz czytać od razu. Materiały oznaczone kontem zawierają zadania, kod lub pliki przeznaczone dla przypisanych uczniów.
Aplikacje desktopowe (WPF)
Wprowadzenie do aplikacji desktopowych i ich cykl życia
Ten dział to trzeci duży filar INF.04 (obok konsoli i baz danych) — programowanie aplikacji z prawdziwym, graficznym oknem, jakie widzi każdy użytkownik komputera. Zanim napiszesz pierwszą linijkę XAML, warto zrozumieć czym w ogóle jest aplikacja desktopowa, c...
Visual Studio 2026 — środowisko pracy i interfejs
Zanim zaczniesz pisać aplikacje WPF, musisz swobodnie poruszać się po Visual Studio — inaczej każda kolejna lekcja będzie polegać na klikaniu "gdzieś tam", bez rozumienia, gdzie właściwie jesteś. Ta lekcja pokazuje wszystkie kluczowe okna i narzędzia IDE, któr...
Środowisko i technologie — Visual Studio, WPF, WinForms, Qt
Podstawa programowa (INF.04.5.1 i INF.04.5.2) wymaga znajomości środowiska programistycznego dla aplikacji desktopowych oraz świadomego wyboru frameworku. Zanim zaczniesz pisać kod, warto wiedzieć, czym różni się WPF od WinForms i Qt — i dlaczego to właśnie WP...
Pierwsza aplikacja WPF — struktura projektu i podstawy XAML
Czas napisać pierwszą prawdziwą aplikację okienkową. Ta lekcja pokazuje, z jakich plików składa się projekt WPF, jak wygląda podstawowa składnia XAML i jak połączyć wygląd okna (XAML) z kodem C# obsługującym logikę (tzw. code-behind) — fundament pod wszystko,...
Layouty i panele — Grid, StackPanel, WrapPanel, DockPanel
Samo dodanie kilku przycisków do okna to za mało — użytkownik musi się w interfejsie łatwo odnaleźć, a okno powinno wyglądać dobrze niezależnie od tego, jak je rozciągniemy. Do tego służą layouty (układy) — specjalne kontenery, które automatycznie rozmieszczaj...
Kontrolki I — Button, TextBox, Label/TextBlock
"Taki Button — ile ma właściwości?" To pytanie, na które ta lekcja odpowiada wyczerpująco: poznasz PEŁNY zestaw właściwości trzech najczęściej używanych kontrolek — przycisku, pola tekstowego i etykiety — razem z ich odpowiednikami w Windows Forms (bo egzamin...
Kontrolki II — CheckBox, RadioButton, ComboBox, ListBox
Formularze rzadko ograniczają się do samego tekstu — użytkownik musi też zaznaczać opcje, wybierać jedną z kilku możliwości albo wskazywać element z listy. Ta lekcja dogłębnie omawia cztery kontrolki wyboru: CheckBox, RadioButton, ComboBox i ListBox/DataGrid —...
Kontrolki III — Slider, ProgressBar, DispatcherTimer
Nie każda kontrolka służy do wpisywania tekstu — czasem potrzebujesz suwaka do wyboru wartości liczbowej, paska pokazującego postęp długiej operacji, albo mechanizmu, który sam, cyklicznie coś robi (np. odświeża zegar). Ta lekcja kończy przegląd kontrolek WPF,...
Obsługa zdarzeń — mysz, klawiatura i wprowadzenie do Command
Do tej pory reagowaliśmy głównie na kliknięcie przycisku (Click) i zmianę tekstu (TextChanged). Ale interfejs użytkownika generuje dziesiątki innych zdarzeń — ruch myszy, wciśnięcie konkretnego klawisza, najechanie kursorem. Ta lekcja systematyzuje obsługę zda...
Okna i dialogi — modalne, niemodalne i MessageBox
Prawdziwe aplikacje rzadko mają tylko jedno okno — potrzebne są okna dialogowe do potwierdzeń, ustawień, formularzy szczegółów. Podstawa programowa (INF.04.5.3) wymaga wprost umiejętności pracy z oknem/dialogiem modalnym i niemodalnym — ta lekcja pokazuje, kie...
Menu, paski narzędzi i menu kontekstowe
System menu to jeden z elementów wymienionych wprost w podstawie programowej (INF.04.5.3). Prawie każda aplikacja desktopowa ma pasek menu na górze (Plik, Edycja, Widok...), często też pasek narzędzi z ikonami i menu kontekstowe pod prawym przyciskiem myszy —...
Oddzielenie logiki od UI — wprowadzenie do wzorca MVVM
Do tej pory cała logika (sprawdzanie danych, obliczenia) siedziała bezpośrednio w code-behind okna, wymieszana z obsługą przycisków. To działa dla małych przykładów, ale w większym projekcie szybko robi się bałagan — trudno znaleźć, gdzie coś zmienić, i nie da...
Modele danych i walidacja formularzy
Formularze w prawdziwych aplikacjach mają zwykle wiele pól, a dane z nich trzeba jakoś zorganizować i sprawdzić, zanim zostaną użyte. Ta lekcja łączy dwie powiązane umiejętności: tworzenie modeli danych (klas grupujących powiązane informacje) i walidację (spra...
Wyświetlanie list danych — ListBox, ListView i DataGrid
Prawie każda prawdziwa aplikacja pokazuje jakąś listę: produktów, uczniów, zadań do zrobienia. Ręczne tworzenie osobnej kontrolki dla każdego elementu byłoby absurdalne — WPF pozwala połączyć kolekcję danych z interfejsem tak, żeby program SAM wygenerował wido...
Praca z plikami w aplikacji WPF (zapis i odczyt danych)
Dane trzymane tylko w pamięci (w kolekcji z poprzedniej lekcji) znikają, gdy zamkniesz aplikację. Żeby dane PRZETRWAŁY między uruchomieniami programu, trzeba je zapisać na dysku — do pliku tekstowego, JSON, albo (w kolejnej lekcji) do bazy danych. Ta umiejętno...
Tworzenie aplikacji WPF z bazą danych SQLite
Zapis do pliku JSON z poprzedniej lekcji działa dobrze dla prostych list, ale prawdziwe aplikacje biznesowe (magazyn, system rezerwacji, ewidencja klientów) potrzebują prawdziwej bazy danych — z możliwością wyszukiwania, filtrowania i pracy na dużych ilościach...
Multimedia w WPF — odtwarzanie audio i wideo
Niektóre zadania egzaminacyjne i realne aplikacje (odtwarzacz muzyki, prezentacja multimedialna, aplikacja szkoleniowa) wymagają odtwarzania dźwięku lub wideo. WPF ma do tego wbudowaną, gotową kontrolkę — nie trzeba żadnych dodatkowych bibliotek. Ważna uwaga n...
Projekt końcowy — kompletna aplikacja WPF z bazą danych
Czas połączyć wszystko, czego nauczyłeś się w tym dziale, w jeden spójny projekt — dokładnie w takiej formie, w jakiej zadania pojawiają się na egzaminie INF.04. To najlepszy sposób sprawdzenia, czy potrafisz samodzielnie zaprojektować i zbudować kompletną apl...
Kalkulator 4P — aplikacja Windows Forms
Zbudujesz kalkulator, który nie liczy „od lewej do prawej”, tylko rozumie kolejność działań, nawiasy, potęgi i pierwiastki. Przy okazji przećwiczysz projektowanie formularza, właściwość (Name), wspólną obsługę zdarzeń, walidację danych i obsługę wyjątków — czy...
Notatnik 4P — aplikacja Windows Forms
Zbudujesz własny notatnik podobny do prostego edytora tekstu w Windows. Program utworzy nowy dokument, otworzy i zapisze plik .txt, cofnie zmianę, skopiuje tekst, zmieni czcionkę, zawinie wiersze i wyśle dokument do drukarki. Po co? Jeden projekt łączy projekt...
Aplikacja dwuekranowa — formularz-wizytówka
Zbudujesz aplikację Windows Forms, w której pierwszy ekran zbiera dane, a drugi zamienia je w gotową wizytówkę i pozwala zapisać ją jako plik PNG. Po co? Projekt łączy projektowanie dwóch formularzy, walidację, przekazywanie danych, pracę ze zdjęciem i zapis w...