7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie projektowania interfejsu na formie można umieszczać dowolne obiekty (kontrolki np. przyciski, etykiety, pola tekstowe, menu itd.) oraz przyporządkowywać odpowiedni kod programu jako reakcja na zaistnienie odpowiedniego zdarzenia powiązanego z wybranym obiektem (np. reakcję na naciśnięcie przycisku czy wskazanie opcji w menu). Bazową klasą dla każdej formy jest klasa Form, znajdująca się w przestrzeni System. Windows.Forms Rys. 1. Wygenerowana forma Oczywiście większość aplikacji posiada więcej niż jedno okno, więc jeżeli nasza aplikacja ma posługiwać się większą liczbą okien, musimy do projektu dodać nową formę. Dodanie nowej formy do projektu polega na: 1. W oknie Solution Explorer kliknąć prawym klawiszem myszy na nazwie projektu. 2. Z menu Add wybrać opcję Windows Form...
3. W oknie Add New Item w polu Name wpisać nazwę pliku dla nowej formy. 4. Nacisnąć przycisk Add. Każda forma posiada: Rysunek 2. Wygląd okna Add New Item Właściwości - pozwalające na zmianę wyglądu formy; Metody - pozwalające na zdefiniowanie zachowania formy; Zdarzenia - pozwalające na interakcję z użytkownikiem. Właściwości (cechy) formy Forma posiada szereg cech pozwalających na zmianę jej wyglądu. Cechy form ustawia się za pośrednictwem okna Properties Window. Znając nazwę właściwości, którą chcemy zmienić, należy kliknąć na jej nazwę i po prawej stronie wpisać lub wybrać z listy określoną wartość cechy. Właściwości okna mogą być wyświetlane w grupach funkcyjnych lub w porządku alfabetycznym (Name jako pierwsze).
Poniższe zestawienie zawiera opis najczęściej używanych właściwości formy oraz przyjmowanych wartości domyślnych: Właściwość Wartość domyślna Name AcceptButton AutoSize BackColor CancelButton ControlBox Cursor Enabled Font ForeColor FormBorderStyl e HelpButton Icon Nazwa formy (chodzi o nazwę klasy dla Forml, Form2,... formy, której będziemy używać tworząc obiekty nie zaś napisu wyświetlanego na pasku tytułowym okna). Określa, który przycisk ma pełnić rolę (nonę) domyślnego przycisku akceptacji (reagować na naciśnięcie klawisza ENTER). Określa, czy forma ma być False automatycznie dopasowana do kontekstu. Określa kolor tła formy. Control Określa, który przycisk ma pełnić rolę (nonę) domyślnego przycisku anulowania (reagować na naciśnięcie klawisza ESC). Określa, czy forma wyświetla przyciski kontroli okna w pasku tytułowym. Menu może zawierać przyciski minimalizacji, maksymalizacji, pomocy oraz zamknięcia. Określa rodzaj kursora myszy Default wyświetlany w czasie, gdy znajdzie się on w obrębie formy. Określa czy forma jest dostępna (aktywna). Określa rodzaj czcionki używanej przez Microsoft Sans formę. Serif; 8,25pt Określa kolor tekstu i grafiki formy. Określa wygląd okna (okno rozszerzalne, dialogowe, bez ramki, narzędziowe, itd). Określa, czy okno posiada przycisk pomocy. Określa ikonę dla formy. ControlText Sizable False domyślna
Właściwość Location Locked MaximizeBox MaximumSize Menu MinimizeBox MinimumSize Size Text WindowState Określa pozycję górnego lewego rogu formy. Określa, czy kontrolki mogą być przesuwane i czy można zmieniać ich rozmiar. Określa, czy forma posiada przycisk maksymalizacji na pasku tytułowym. Określa maksymalny rozmiar formy. Określa, które menu jest głównym dla okna. Określa, czy forma posiada przycisk minimalizacji na pasku tytułowym. Określa minimalny rozmiar formy. Określa rozmiar początkowy formy. Określa tytuł formy pojawiający się na pasku tytułowym. Określa sposób pojawienia się formy (normalna, zminimalizowana lub zmaksymalizowana). 0,0 Wartość domyślna 0, 0 (czyli dowolny) (nonę) 0,0 300; 300 Forml, Form2,... Normal
Obsługa zdarzeń Forma posiada listę zdarzeń, które mogą zostać powiązane z metodą reagującą na wystąpienie określonego zdarzenia (np.: pojawienie się okna). Dodawanie metod reagujących na zdarzenie następuje za pośrednictwem okna Properties Window. Okno to pozwala zarówno na zmianę właściwości, jak i przypisywanie zdarzeniom metod. Tryb edycji właściwości jest aktywny w momencie naciśnięcia ikony Properties, natomiast tryb edycji zdarzeń w momencie naciśnięcia ikony Events. Rysunek 31. Okno Properties w trybie edycji zdarzeń (na rysunku widać przypisaną zdarzeniu Load metodą Forml_Load)
Poniższe zestawienie zawiera opis najczęściej używanych zdarzeń oraz opis przypadków ich występowania: Zdarzenie Activated Click Deactivate DoubleClick Enter FormClosed FormClosing KeyDown KeyPress KeyUp Leave Load MouseDown MouseMove MouseUp Move Paint Resize Występuje, gdy forma jest aktywowana przez użytkownika lub instrukcję. Występuje, gdy nastąpi kliknięcie na formę. Występuje, gdy forma jest deaktywowana (traci focus). Występuje, gdy nastąpi podwójne kliknięcie na formę. Występuje, gdy nastąpi wejście do formy. Występuje, gdy forma zostanie zamknięta (po zamknięciu). Występuje, gdy forma jest zamykana (przed zamknięciem). Występuje, gdy nastąpi naciśnięcie klawisza (przekazywany jest kod klawisza). Występuje, gdy nastąpi naciśnięcie klawisza (przekazywany jest znak klawisza). Występuje, gdy nastąpi zwolnienie klawisza (przekazywany jest kod klawisza). Występuje, gdy nastąpi opuszczenie formy. Występuje w momencie ładowania formy (zdarzenie to występuje przed wywołaniem metody Show) i jest używane w przypadku, gdy istnieje potrzeba przypisania domyślnych wartości formie i jej kontrolkom i zmiennym). Występuje, gdy zostanie naciśnięty przycisk myszy. Występuje, gdy kursor myszy jest poruszany w obszarze formy. Występuje, gdy zostanie zwolniony przycisk myszy. Występuje, gdy forma zmienia położenie. Występuje, gdy forma jest przerysowywana. Występuje, gdy forma zmienia swój rozmiar
Metody formy Forma posiada szereg metod, które pozwalają na definiowanie zachowania formy. Poniższa tabela zawiera zestawienie najczęściej używanych metod: Metoda Activate Close Focus Hide Refresh Show ShowDialog Update Aktywuje formę. Zamyka formę. Sprawia, że forma uzyskuje focus. Ukrywa formę. Wymusza odświeżenie (odrysowanie) całej formy i jej kontrolek. Pokazuje formę. Pokazuje formę jako modalne okno dialogowe. Wymusza odrysowanie widocznej części formy.