IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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.

Založenie nového projektu Windows Forms vo Visual Studio - Okenné aplikácie vo VB.NET Windows Forms

Okno vášho Visual Studia by teraz malo vyzerať asi takto:

Windows Forms aplikácie vo Visual Studio - Okenné aplikácie vo VB.NET Windows Forms

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:

Prvé okenné aplikácie v C# .NET - Okenné aplikácie vo VB.NET Windows Forms

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.De­signer.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é 190x (72.72 kB)
Aplikácia je vrátane zdrojových kódov v jazyku VB

 

Všetky články v sekcii
Okenné aplikácie vo VB.NET Windows Forms
Preskočiť článok
(neodporúčame)
Jednoduchá kalkulačka v VB.NET Windows Forms
Článok pre vás napísal Michal Žůrek - misaz
Avatar
Užívateľské hodnotenie:
1 hlasov
Autor se věnuje tvorbě aplikací pro počítače, mobilní telefony, mikroprocesory a tvorbě webových stránek a webových aplikací. Nejraději programuje ve Visual Basicu a TypeScript. Ovládá HTML, CSS, JavaScript, TypeScript, C# a Visual Basic.
Aktivity