• Nie Znaleziono Wyników

Laboratorium z PO - Zestaw 08-WPF

N/A
N/A
Protected

Academic year: 2021

Share "Laboratorium z PO - Zestaw 08-WPF"

Copied!
4
0
0

Pełen tekst

(1)

Programowanie obiektowe

Laboratorium z przedmiotu Programowanie

Laboratorium z przedmiotu Programowanie

obiektowe - zestaw 08

obiektowe - zestaw 08

Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami powiązania modelu obiektowego z modelem okienkowym w C#.

Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć tematyka jest ważna, gdyż w praktyce model obiektowy jest nieodzownie związany z modelem okienkowym. Aby ze zrozumieniem zrealizować zadania, przewidziane do wykonania w ramach zajęć laboratoryjnych, należy znać znaczenie takich pojęć jak: metody formy – Show i ShowDialog, właściwość formy DialogResult.

1. Metody Show i ShowDialog klasy Form

Wywołanie metody „Show” na obiekcie klasy „Window” powoduje wyświetlenie okienka, które będzie działać równolegle do okienka macierzystego.

Wywołanie metody „ShowDialog” powoduje wyświetlenie i zablokowanie okna macierzystego aż do jego zamknięcia. ShowDialog blokuje również wątek programu, czyli wywołanie tej metody będzie trwało do zamknięcia okna dialogowego. Dodatkowo metoda ta zwraca DialogResult (true,false) okna dialogowego.

2. Właściwość DialogResult

Właściwość ta jest dostępna w klasie „Window” ale można jej użyć wyłącznie gdy okno będzie wyświetlone za pomocą metody „ShowDialog”. Przypisując właściwości wartości „true” lub „false” zamkniemy od razu okienko dialogowe i odblokujemy okno macierzyste. Natomiast wartość przypisana będzie zwrócona z wywołania „ShowDialog”.

Można przyjąć, iż jeśli okienko wykonało zamierzone działanie to zwracacie „true” (button – OK), jeśli operacja została przerwana to „false” (Abort, Cancel).

Zadanie 1. Proszę zrealizować aplikację okienkową, która powinna odznaczać się następującymi cechami:

1. Aplikacja ma umożliwiać dodawania określonych informacji o studentach: imienia, nazwiska, numeru indeksu, kierunku studiów.

2. Aplikacja ma wyświetlać te dane w formie tabeli.

(2)

Programowanie obiektowe

Instrukcja wykonania zadania:

1. Proszę o zmianę nazwy głównej formy na „MainWindow”.

2. Proszę o dodanie do projektu nowego pliku klasy „Student”, proszę o uczynienie jej publiczną i o jej implementację wedle wymogów zadania (musi przechowywać określone informacje o studencie).

3. Proszę dodać pole do klasy „MainWindow” reprezentującą listę studentów.

4. Następnie proszę o dostosowanie głównej formy aplikacji według poniższego rysunku:

Tabela została zrealizowana kontrolką „DataGrid”.

5. Kontrolkę należy skonfigurować po jej inicjalizacji np. poprzez bindowanie i przypisanie źródła danych, jak na poniższym przykładzie.

Kontrolce nadano nazwę „dg” następnie dodano odpowiednie kolumny. Każdej kolumnie nadano właściwość Binding. Właściwość ta wskazuje, które pole z modelu danych klasy „Student” zostanie wyrenderowane w danej kolumnie.

(3)

Programowanie obiektowe

6. Proszę o dodanie do projektu nowego okna. W tym celu należy kliknąć prawym przyciskiem myszy na nazwie projektu w oknie „Solution Explorer”, a następnie wybrać opcję „Add” -> „Window”. Następnie proszę o zmianę nazwy pliku na „StudentWindow”.

7. Następnie proszę o dostosowanie nowo dodanej formy według poniższego rysunku:

8. Następnie proszę o dodanie do okna „StudentWindow” następującego pola oraz konstruktora:

Konstruktor okna przyjmując obiekt studenta wypełni jego danymi pola tekstowe.

9. Następnie proszę o obsługę zdarzenia „Click” przycisku „Ok”. Ma ona za zadanie zweryfikować poprawność wpisanych danych na podstawie wyrażeń RegularExpresion (dokumentacja znajduje się w sieci). Następnie przepisać je do modelu danych studenta. Na koniec zamknąć okno przypisując wartość właściwości DialogResult:

(4)

Programowanie obiektowe

10. Kolejno dodać obsługę zdarzenia „Click” przycisku „AddStudent” okienka „MainWindow”. Ma ona za zadanie utworzyć okienko edycji studenta, następnie wyświetlić w trybie dialogowym. Jeśli okienko dialogowe zamknięte zostanie przez przypisanie true do DialogResult wtedy metoda ma pobrać studenta z okna oraz dodać go do listy studentów. Ostatecznie ma odświeżyć – wyrenderować ponownie listę studentów:

11. Kolejno dodać obsługę zdarzenia „Click” przycisku „RemoveStudent” okienka „MainWindow”. Ma ona za zadanie usunąć zaznaczonego studenta.

Zadanie 2. Proszę zrealizować aplikację okienkową, która powinna odznaczać się następującymi cechami:

12. Aplikacja stanowi rozszerzenie aplikacji z zadania 1.

13. Aplikacja ma umożliwiać dodawanie informacji o ocenach danego (zaznaczonego w tabeli) studenta i wyświetlanie tych informacji.

W celu realizacji, należy utworzyć klasę reprezentującą ocenę studenta, a klasie Student dodać listę ocen. Umieścić dodatkowe przyciski w MainWindow oraz utworzyć okienko wyświetlające oceny studenta (może przyjmować listę ocen jako konstruktor) jak również okienko dodawania pojedynczej oceny.

Cytaty

Powiązane dokumenty

Należy wykonać dwie wersje programu: jedna z konstruktorami zwykłym (z parametrami domyślnymi) i kopiującym dla klasy kolo bez listy argumentów oraz druga z

Praktyczna realizacja powyższych wytycznych powinna się odbywać poprzez lepsze kształto­ wanie produktów przede wszystkim za pomocą nowoczesnych technologii pielęgnowania lasu

Ponadto, identyfikacja była przeprowadzana dla nieliniowego modelu Tanh, a także struktury modeli tłumików występujących w części sterowania (model Tanh) i w symulatorze

Uzyskanie takiego rozwiązania jest szczególnie cenne w przypadku wojskowych materiałów wybuchowych, od których wymaga się generowania z jednostki objętości dużej

Wykazał także różnice we właściwościach polimerów zawierających grupę azydową i nitrową, a także podjął próbę uzależnienia właściwości wybuchowych od

The structure of the molecule was identified by: spectroscopic methods (FTIR), elemental analysis, NMR analysis, gas chromatography, differential scanning

fast_flush_list.append(ShapeWindow) //adding object to list of objects whose elements are notified at every step. PLOT_SHAPE = 1 if (PLOT_SHAPE) {

Z licznych bowiem tenorów włoskich, jacy u nas śpiewali w czasach ostatnich, on jest, chyba jedyny, który nigdy nie choruje, zawsze jest przy głosie i stale wywiązuje