22 lutego 2016 -------------- Przygotować aplikację z polem tekstowym (TextBox) i etykietą (Label). Zawartość pola tekstowego natychmiast po zmianie pokazywać na etykiecie (wykorzystać zdarzenie TextBox.TextChanged). Zapisać zawartość pola tekstowego w ustawieniach, które odtwarzane są po uruchomieniu aplikacji. 7 marca 2016 ------------ Przygotować aplikację prezentującą w kontrolce PictureBox obraz wczytany z pliku. GUI aplikacji powinno składać się z menu (MenuStrip) oraz kontrolki PictureBox zapełniającą cały obszar użytkownika okna. Menu powinno umożliwiać wczytanie obrazu z pliku i zapisanie obrazu do pliku (w obu przypadkach format PNG). Zob. też konkurs. 4 kwietnia 2016 --------------- 1. Przygotować aplikację, która wyświetla 64 przycisków ustawionych regularnie 8 x 8 z kolorami zmieniającymi się tak, jak na szachownicy. Kliknięcie przycisku powinno zwiększać o 1 liczbę wyświetlającą się na przycisku (jego własność Text). Wartości wszystkich liczb przechowywać w dwuwymiarowej tablicy typu int. W tablicy należy również przechowywać referencje do przycisku. 2. Korzystając ze zdarzenia Paint i obiektu Graphics narysować na formie dom, płotek, słoneczko i ludzika. 25 kwietnia 2016 ---------------- Przygotować kontrolkę o nazwie StoperButton, której interfejs zbudowany jest tylko z przycisku. Funkcjonalność: - po uruchomieniu etykieta przycisku = "0", - Start: pierwsze kliknięcie - etykieta zaczyna pokazywać milisekundy (por. kontrolka Timer z zakładki System), - Stop: drugie kliknięcie - stoper jest zatrzymywany - Reset: trzecie kliknięcie - zegar jest zerowany, kolejne kliknięcia od nowa i dalej cyklicznie Własność: Miliseconds - tylko do odczytu, aktualna liczba milisekund Zdarzenia: Start, Stop, Reset To zadanie na pewno będzie na kolokwium! 16 maja 2016 ------------ Za pomocą metody System.Diagnostica.Process.GetProcesses pobrać tablicę wszystkich procesów, a następnie korzystając z zapytań LINQ wyświetlić identyfikatory tych procesów, które 1) zostały uruchomione w ostatnim kwadransie, 2) mają mniej niż 4 wątki, 3) mają wyższy priorytet niż normalny, 4) całkowuty czas procesora jest dłuższy niż minuta. Ponadto wyświetl największą i najmniejszą liczbę wątków (korzystając z rozszerzeń Min i Max). 23 maja 2016 ------------ 1. Przygotować klasę CsvWriter, która zapisuje do pliku CSV pola i własności podanej w konstruktorze kolekcji obiektów (jeden wiersz dla jednego rekordu). Użyć technologii Reflection w sposób analogiczny, jak w klasie SettingsManager. 2. Przygotować klasę CsvReader, która pozwala odczytać zawartość pliku CSV do kolekcji obiektów T (np. List). 3. Przygotować aplikację pozwalającą na przeglądanie typów z wczytanej w trakcie działania programu biblioteki DLL. Użyć kontrolki TreeView. Wzór można znaleźć na mojej stronie. 30 maja 2016 ------------ Przygotować zbiór testów jednostkowych dla klas SettingManager z poprzednich zajęć aż do uzyskania 60% pokrycia. Uwzględnić testy sprawdzające zgłaszanie wyjątków, testy sprawdzające wartości pól lub własności prywatnych, testy z losowanymi wartościami, itd.