18 października 2014 -------------------- Przygotować aplikację Windows Forms, w której na formie znajduje się panel, którego położenie w oknie ustala się za pomocą dwóch pasków przewijania (HScrollBar i VScrollBar), a rozmiar za pomocą dwóch suwaków (TrackBar). Wartości suwaków i pasków przewijania zapamiętywać w ustawieniach aplikacji. Zadbać o zakotwiczenie kontrolek oraz skalowanie pozycji panelu w razie zmiany rozmiaru całego okna. 25 października 2014 -------------------- 0. Rozwiązać problem w aplikacji Notatnik: jeżeli zawartość notatnika została zmienionapróba zamknięcia aplikacji prowadzi do pytania o zapis tekstu. Wybranie tak powoduje otwarcie okna dialogowe. Kliknięcie "Anuluj" spowoduje zaniechanie nagrania tekstu, a po zamknięciu okna dialogowego aplikacja zostanie zamknięta. Powinna nie być zamykana. 1. Do projektu Kolory dodać okno dialogowe pozwalające na wybór koloru. Uaktywniać je po kliknięciu panelu. Zmiana koloru powinna pociągać za sobą dopasowanie położenia suwaków i opisów. 2. Korzystając ze zdarzenia Form.Paint (metoda zdarzeniowa Form1_Paint) i obiektu Graphics przesyłanego w jej drugim argumencie narysować dom z płotem, drzewem i samochodem. 3. Przygotować metodę rozszerzającą ZapiszDoPliku dla klasy TextBox (wzór: rozszerzenie CzytajZPliku z projektu Notatnik). 4. W aplikacji konsolowej napisać pętlę for, w której liczba 1 dzielona jest przez liczby od -10..0..10 (użyć typu int) i wyświetlany jest wynik. Operację dzielenia otoczyć konstrukcją try..catch. Wyjątek powinien nastąpić przy dzieleniu przez 0. Wówczas w sekcji catch wyświetlić odpowiedni komunikat. 8 listopada 2014 ---------------- 1. Przygotować kontrolkę, która składa się z pola edycyjnego (TextBox) i etykiety (Label). Kontrolka powinna mieć własności Text i Label, których własności powinny decydować o zawartości obu kontrolek (tj. (TextBox.Text i Label.Text). Przygotować zdarzenie TextChanged sygnalizujące zmianę zawartości pola edycyjnego oraz metodę Clear czyszczącą jego zawartość. 2. Przygotować kontrolkę Stoper zawierającą kontrolkę Label i przycisk. Kliknięcie przycisku powinno spowodować, że w na kontrolce Label pokazywane są upływające minuty, sekundy i milisekundy. Kolejne kliknięcie przycisku zeruje stoper, a jeszcze jedno zeruje. Przygotować własność pozwalającą na odczytanie bieżącego czasu oraz zdarzenia informujące o rozpoczęciu i zakończeniu odliczania. 3. Przygotować kontrolkę - prosty kalkulator pozwalający na podstawowe operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie i zmianę znaku). Kontrolka powinna posiadać wyświetlacz (TextBox) oraz klawiaturę numeryczną i przyciski dla operacji. Obsuga pamięci również powinna być zaimplementowana. 15 listopada 2014 ----------------- 1. Przygotować własną implementację klasy Nullable. Opracować kontrolujące ją testy jednostkowe. 2. Przygotować strukturę(!) implementującą liczby zespolone zawierającą: - pola prywatne real i imag - własności publiczne Real, Imag, Norm, Mag, Phi (dłg. i kąt we wsp. radialnych) - konstruktor pozwalający na zainicjowanie pól struktury - metody Conj (sprzężenie zespolone) - operatory arytmetyczne: +, -, *, / (por. System.Numerics.Complex). Przygotować testy pokrywające stuprocentowo kod tej struktury. 3. Przetłumaczyć klasę AutoSumowanie, jej testy jednostkowe i aplikację Strażnik na język Visual Basic (nie będzie na kolokwium).