Biblioteka Windows Forms
Aplikacje Windows Forms Aplikacje sterowane zdarzeniami Rysowanie oparte na GDI+ "Obudowane" kontrolki Win32
"Elementy" do budowy aplikacji Przestrzeń nazw System.Windows.Forms Kontrolki klasa Control Okna klasa Form Okienka dialogowe MessageBox,... Inne Timer, BackgroundWorker,...
Hierarchia klas Control ScrollableControl ContainerControl Form
Klasa Control Klasa bazowa dla wszystkich kontrolek Właściwości: Rozmiary (Size, Width, Height, ClientRectangle) Położenie (Location, Bounds, Anchor, Dock) Wygląd (BackColor, ForeColor, BackgroundImage) Tekst (Text, Font) Aktywność (TabIndex, TabStop, Focused, Visible) Mysz (MouseButtons, MousePosition, Cursor) Klawiatura (ModifierKeys)
Klasa Control - zdarzenia Mysz: Click, DoubleClick MouseDown, MouseUp MouseMove MouseEnter, MouseLeave, MouseHover Klawiatura: KeyDown, KeyUp KeyPress
Klasa Form Klasa bazowa dla okien Właściwości: Rozmiary (AutoSize, ClientSize, MinimumSize,...) Położenie (DesktopLocation, StartPosition) Wygląd (FormBorderStyle, ControlBox,...) Przezroczystość (Opacity, TransparencyKey) Zachowanie (ShowInTaskBar, Toplevel, Topmost...) Hierarchia (Owner, OwnedForms)
Klasa Form - zdarzenia Load Activated Deactivate Closing Closed
Klasa Form - kontrolki kolekcja Controls zawiera wszystkie kontrolki umieszczone w oknie właściwość HasChildren true oznacza, że kontrolka zawiera inne kontrolki
Okienka dialogowe ColorDialog FolderBrowserDialog FontDialog OpenFileDialog, SaveFileDialog PageSetupDialog, PrintDialog, PrintPreview...
Klasa MessageBox Służy do wyświetlania krótkich informacji Jest oknem modalnym Umożliwia wybranie ikony/obrazka... oraz zestawu przycisków i przycisku domyślnego Zwraca DialogResult (id wciśniętego button'a)
Tworzenie okna aplikacji Napisanie klasy okna dziedziczącej po Form Dodanie kontrolek w konstruktorze klasy Utworzenie instancji klasy (obiektu okna) Wywołanie Application.Run( nasze_okno) lub nasze_okno.show( ) lub nasze_okno.showdialog( )
Klasyfikacja okien Okno główne aplikacji Okna najwyższego poziomu (top level) Okna zawsze na wierzchu (top most) Okna modalne Okna niemodalne
Aplikacje wielookienkowe Okna są uporządkowane w hierarchię Okna są wyświetlane nad swoimi właścicielami Zamknięcie okna głównego zamyka pozostałe
MDI Multiple Document Interface Okno główne aplikacji ze wspólnym menu Wiele okien rozmieszczonych w głównym Opcje menu dotyczą aktywnego okna
Tworzenie okna głównego this.ismdicontainer = true; Dodanie głównego menu i pasków narzędzi Umożliwienie tworzenia okien wewnętrznych Umieszczenie w menu listy okien......i opcji do ich rozmieszczania
Tworzenie okna wewnętrznego Form2 f2 = new Form2( ); // tworzy f2.mdiparent = this; // ustawia okno główne f2.text = okienko ; // ustawia tytuł okna f2.show( ); // wyświetla
Działania na aktywnym oknie Dodanie do Form2 publicznych składowych......do posługiwania się z okna głównego Form2 aktywne = (Form2) this.activemdichild; aktywne.właściwość właściwość = cośtam;
Rozmieszczanie okien Dodanie menu okno menustrip.mdiwindowlistitem = oknotoolstrip; Dodanie opcji rozmieszczających (np.kaskada) this.layoutmdi ( MdiLayout.Cascade ) MdiLayout: ArrangeIcons, Cascade, TileHorizontal, TileVertical
Przydatne składowe klasy Form właściwości ismdiparent, ismdichild właściwości MdiParent, MdiChildren zdarzenie MdiChildActivate metoda ActivateMdiChild ( child )
Tworzenie menu głównego MenuStrip ms = new MenuStrip( ); ToolStripMenuItem item = new ToolStripM... ToolStripMenuItem sub_item = new ToolStrip... item.dropdownitems.add ( sub_item ); ms.items.add ( item ); this.mainmenustrip = ms;
Tworzenie menu kontekstowego ContextMenuStrip cm = new ContextMenuStrip ToolStripMenuItem item = new ToolStripM... cm.items.add ( item ); this.contextmenustrip = cm; lub np. button1.contextmenustrip = cm;
Komunikacja między oknami Dodanie składowych publicznych w klasie Ustawienia początkowe przed wyświetleniem Wyświetlenie okna Zapamiętanie DialogResult przy zamknięciu Sprawdzenie DialogResult Pobranie danych po zamknięciu okna
Hierarchia okien Form2 child = new Form2 ( ); this.addownedform ( child ); właściwość child.owner właściwość this.ownedforms