1. diel - Úvod do Windows Forms aplikácií v VB.NET
Vitajte u prvého dielu seriálu, v ktorom sa naučíme vytvárať okenné (formulárové) aplikácie v VB .NET a vyskúšame si použitia jednotlivých komponentov. Budeme pracovať s tlačidlami, textovými poľami, tabuľkami, ale aj s obrázkami, časovačmi a ďalšími tzv. Kontrolkami (anglicky control), ktoré máme v týchto aplikáciách k dispozícii.
Seriál budem písať tak, aby ste nepotrebovali žiadne pokročilé znalosti. Predpokladám však, že poznáte aspoň základy objektovo orientovaného programovania.
Windows Forms
Windows Forms je prvým frameworkom z .net, ktorý umožňuje jednoduchú tvorbu formulárových aplikácií pomocou grafického dizajnéra. Nájdeme tu plnú sadu pripravených kontroliek (niekedy označovaných ako komponenty) pre väčšinu situácií. A ak nám nebudú stačiť, môžeme si samozrejme vytvoriť vlastné alebo upraviť nejakú existujúcu. Práve Windows Forms sa budeme v tomto seriáli venovať.
V súčasnej dobe existuje spolu s WinForms ešte jeden modernejší framework WPF (Windows Presentation Foundation). Obsahuje lepšie oddelenie logiky a výstupu, podporu rýchlejšieho vykresľovanie, animácií, binding a ďalších nových technológií. V praxi sa u formulárových aplikácií používajú oba frameworky, u novších aplikácií WPF, existujúce aplikácie z väčšiny používajú WinForms. V súčasnej dobe nie je WinForms označený za zastaraný a stále sa používa, jeho použitie je jednoduché a určite sa v praxi stretnete s mnohými aplikáciami, ktoré sú vo WinForms napísané. Mali by ste o nich teda mať aspoň nejaké povedomie, aj keď je určite lepšia tvoriť nové aplikácie rovno vo WPF, ktoré je technologicky oveľa ďalej.
Prvý formulárové aplikácie
Nezačneme inak, než klasickou aplikáciou Hello World, tentoraz formulárové Ak ste nečítali tunajšie seriál, tak zopakujem, že je to jednoduchá aplikácia, ktorá nerobí nič iné, než že vypíše nejaký Text.
Vytvorte si nový projekt, ako typ projektu vyberte Windows Forms Application. Ako názov zvolíme HelloForms.
Okno vášho Visual Studia by teraz malo vyzerať asi takto:
Popíšme si jeho jednotlivé časti, ktoré budeme pri vývoji formulárových aplikácií používať. Dôležité časti sú na obrázku vyššie zvýraznené červeno.
- Designer (Grafický návrhár) - V Designeri vidíme, ako formulár vyzerá. Zatiaľ je to len prázdne okno.
- Properties (Vlastnosti) - V okne Properties vidíme vlastnosti aktuálne označeného prvku na formulári. Ak okno nevidíte, zapnite si ho v menu View -> Properties Window.
- Toolbox (Panel s nástrojmi) - Toolbox je Výjazdný okno, ktoré slúžia ako paleta s jednotlivými kontrolkami, ktoré môžeme na formulár vložiť.
Nastavenie vlastností kontroliek
Keď označíme nejakú kontrolku na formulári alebo formulár samotný, môžeme v okne Properties meniť jednotlivé vlastnosti kontrolky.
Keďže na formulári žiadny prvok nemáme, je označený práve formulár. Formulári zmeníme titulok na Pozdrav. Vyhľadajte si vlastnosť Text a do nej vložte hodnotu Pozdrav. Výsledok sa hneď prejaví v návrhári. Týmto spôsobom budeme nastavovať vlastnosti všetkých kontroliek na formulári.
Vloženie kontroliek na formulár
Teraz otvoríme Toolbox a vyberieme kontrolku Label, čo je textový popis. Vložíme ju do formulára buď dvojklikom alebo presunutím myšou. Formulár si zmenšite a label myšou jednoducho presuňte doprostred. Označenému labelu v oknu Properties nastavte text na "Pozdrav z formulára".
Vašu prvú okenné aplikácii môžete spustiť ako vždy zeleným tlačidlom Play alebo klávesom F5. Mali by ste dostať podobný výsledok:
Pod pokrievkou
Vysvetlime si, ako aplikácia funguje vnútri. Samotný formulár je samozrejme objekt (ako inak . Je definovaný triedou Form1, ktorú nájdeme v súbore Form1.vb. Súbor si samozrejme môžete premenovať v Solution Exploreri, premenuje sa aj trieda. Pre našu aplikáciu by sa formulár mohol menovať napr. PozdravForm, premenujte si ho tak, pretože sa v aplikácii potom budete lepšie orientovať.
Visual Studio zobrazuje buď grafický náhľad formulára alebo jeho zdrojový kód. Medzi týmito režimami môžeme prepínať buď pravým kliknutím na formulár (resp. Na kód) a výberom možnosti View Code (resp. View Designer). Užitočné je poznať skratky Shift + F7 k presunu do návrhára a CTRL + ALT + 0 k presunu do kódu. Musí ísť o nulu na alfanumercké klávesnici (tú vľavo).
Presuňte sa do kódu formulára, ktorý vyzerá asi takto:
Public Class PozdravForm End Class
Jedná sa o triedu, v ktorej zatiaľ nič nie je. Formulár tiež ešte nič nerobí Nikde tu však nie je ani pamiatky po tom, čo sme naklikali. To preto, že sa jedná len o prvú časť kódu, druhá je skrytá o otvorte ju z prieskumníka Windows ako súbor PozdravForm.Designer.vb.
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class PozdravForm Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.Label1 = New System.Windows.Forms.Label() Me.SuspendLayout() ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(55, 34) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(101, 13) Me.Label1.TabIndex = 0 Me.Label1.Text = "Pozdrav z formuláře" ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(248, 90) Me.Controls.Add(Me.Label1) Me.Name = "Form1" Me.Text = "Pozdrav" Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Label1 As System.Windows.Forms.Label
Vidíme, že formulár je trieda, dedičom z triedy Form. Trieda je označená ako Partial, čo znamená, že je definovaná vo viacerých súboroch. Tento súbor teda rozširuje pôvodnú prázdnu triedu a vyzerá oveľa horšie, pretože je automaticky generovaný Visual Studiom. Je schválne oddelený do ďalšieho súboru, aby nerobil zdrojový kód formulára neprehľadným. Do súboru Designer.cs nikdy ručne nezasahujte a vlastne by ste o jeho existencii ani nemuseli vedieť.
V kóde vidíme metódu InitializeComponent (), ktorá nerobí nič iné, než že vytvorí postupne všetky prvky na formulári a nastaví im patričné vlastnosti, ktoré sme zvolili. Vidíme tu, ako sa tvoria náš label a nastavujú sa mu vlastnosti. Metóda sa potom volá v konstruktoru, čím sa formulár inicializuje. Nezainteresovaný programátor je teda úplne odtienený od kódu, čo generuje návrhár. Je to samozrejme hlavne preto, aby ho nemohol rozbiť Avšak je dôležité vedieť, ako to funguje, aby ste boli schopní napr. Pridávať kontrolky za behu aplikácie alebo opraviť chyby v súbore, čo designer generuje.
Dnešný projekt je k stiahnutiu v prílohe článku vrátane zdrojových kódu, bude to tak vždy. Ak vám niečo nešlo, môžete si nájsť chybu.
Nabudúce, Jednoduchá kalkulačka v VB.NET Windows Forms , si vysvetlíme, ako fungujú udalosti a naprogramujeme si jednoduchú kalkulačku.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 191x (72.72 kB)
Aplikácia je vrátane zdrojových kódov v jazyku VB