WinForms 4 – ProgressBar, PictureBox, WebBrowser, ListView, ListBox, CheckedListBox

V dnešnom diely sa pozrieme na predposlednú skupinu základných ovládacích prvkov – tento krát ich bude šesť. Ukážeme si ProgressBar, PictureBox a WebBrowser a celú kopu zoznamov.

ProgressBar

ProgressBar

ProgressBar, ako už názov napovedá zobrazuje postup, je možné použiť ho pri inštaláciách, kopírovaní alebo sťahovaní. Nemá žiadne zvláštne eventy, za to dokáže fungovať v troch rôznych režimoch.

Režimy ProgressBaru je možné nastaviť vlastnosťou Style.
1. Blocks – nastaví viditelnú hodnotu ProgressBaru okamžite
2. Continuos – nastaví viditelnú hodnotu ProgressBaru postupne
3. Marquee – animácia bez hodnoty.

Ďalšie zaujímavé vlastnosti sú MarqueeAnimationSpeed označujúca rýchlosť animácie v režime Marquee a Maximum/Minimum nastavujúce maximálne a minimálne hodnoty pre ProgressBar. Vlastnosť Value obsahuje aktuálnu hodnotu uloženú v ProgressBare.

if (radioButton1.Checked) progressBar1.Style = ProgressBarStyle.Blocks;
else if (radioButton2.Checked) progressBar1.Style = ProgressBarStyle.Continuous;
else if (radioButton3.Checked) progressBar1.Style = ProgressBarStyle.Marquee;
progressBar1.Minimum = (int)numericUpDown1.Value;
progressBar1.Maximum = (int)numericUpDown2.Value;
progressBar1.Value = (int)numericUpDown3.Value;

PictureBox

PictureBox

PictureBox slúži na zobrazenie obrázku. Opäť neobsahuje žiadne špeciálne eventy, ale občas je vhodné pri ňom použiť event Click.

Vlastnosť Image vyberá obrázok, ktorý bude PictureBox obsahovať. BackgroundImage ktorá normálne slúži na zobrazenie obrázku na pozadí má však vďaka vlastnosti BackgroundImageLayout viac možností a tak je niekedy vhodnejšie použiť ju.

OpenFileDialog open = new OpenFileDialog();
open.Filter = "Image Files (*.bmp, *.jpg, *.png, *.gif)|*.bmp;*.jpg;*.png;*.gif";
open.Multiselect = false;
open.ShowDialog();
if (File.Exists(open.FileName)) pictureBox1.Image = Image.FromFile(open.FileName);

WebBrowser

WebBrowser

WebBrowser je vložený zobrazovač webových stránok vo vnútri vašej aplikácie. Jeho základným eventom je DocumentCompleted ktorý označuje dokončenie načítania dokumentu. To sa dá použiť napríklad na zobrazenie mena stránky po jej načítaní. Ďalšími eventmi sú FileDownloadedNavigatedNavigatingNewWindowProgressChanged (ktorý označuje proces sťahovania súboru)

Najdôležitejšou vlastnosťou prehliadača je Url ktorá obsahuje adresu webovej stránky. Ďalej môžete nadstaviť IsWebBrowserContextMenuEnabled, ktorá označuje či je zapnutý ContextMenu alebo ScriptErrorsSuppressed, ktorý zakáže zobrazovanie chýb skriptov. Pomocou WebBrowserShortcutsEnabled môžete zapnúť alebo vypnúť klávesové skratky.

webBrowser1.Navigate(textBox1.Text);

ListView

ListView

ListView je zoznamový ovládací prvok, ktorý dokáže zobrazovať informácie v pevnej a prehľadnej forme. Jeho hlavným eventom je SelectedIndexChanged, ktorý sa vyvolá po zmene vybraného Itemu v ListView zozname.

Vlastnosť Items obsahuje všetky itemi, ktoré váš ListView bude obsahovať. Vlastnosti LargeImageListSmallImageList definujú obrázky, ktoré budú pouzívané. Vlastnosť MultiSelect vám dovoľuje vybrať viac itemov naraz. ListView dokáže pracovať vo viacerých režimoch – tie nastavujete vo vlastnosti ViewLargeIcon SmallIcon režimy vyberajú režim zobrazujúci Itemi jeden vedľa druhého v mriežke spolu s ikonou (veľkou alebo malou).  Režim Tile je im podobný, ale dovoľuje aj zobrazenie dodatočných informácií. Režim List zobrazí itemi v zozname pod sebou, pričom využije aj viacero stĺpcov a režim Details zobrazí aj ich informácie a zobrazuje všetky itemi v jednom stĺpci.

Pre režim Details je nutné pomocou vlastnosti Columns definovať stĺpce informácií. Itemi pre ListView sú typu ListViewItem. Ten okrem svojho mena ukladá aj informáciu o pozícií obrázku v zozname obrázkov určenému k ListView. Tiež obsahuje SubItems ktoré sa zobrazujú v detailnom zobrazení.

for (int i = 1; i <= 10; i++)
{
    //Vytvorí sa Item pre ListView a priradí sa mu text
    ListViewItem item = new ListViewItem();
    item.Text = "Item #" + i;
    //Vytvoríme SubItem a opäť mu priradíme text
    ListViewItem.ListViewSubItem subitem1 = new ListViewItem.ListViewSubItem();
    subitem1.Text = i.ToString();
    //Subitem pridáme do zoznamu itemu a Item do zoznamu listViewu
    item.SubItems.Add(subitem1);
    listView1.Items.Add(item);
}

ListBox

ListBox

ListBox je trochu jednoduchšia varianta ListViewu. Rovnako ako ListView zobrazuje zoznamy, ale namiesto typu ListViewItem používa jednoduché základné typy ako String alebo Int. Jeho základný event je rovnako SelectedIndexChanged.

Všetky itemi sú rovnako uchovávané vo vlastnosti Items. Tiež je možné nadstaviť SelectionMode alebo užitočnú vlastnosť MultiColumn, ktorá dovoľuje zobrazovať itemi aj v stĺpcoch.

for (int i = 1; i <= 10; i++ )
{
    //Pridáva do zoznamu item typu string.
    listBox1.Items.Add("Item cislo "+i);
}

CheckedListBox

CheckedListBox

CheckedListBox je vylepšený o možnosť zaškrtávania itemov. Preto obsahuje okrem eventu SelectedIndexChanged aj event ItemCheck.

Zaujímavou vlastnosťou je CheckOnClick ktorá zabezpečí zmenu zaškrtnutia aj keď nekliknete priamo na zaškrtávacie políčko. Ostatné vlastnosti sú oproti klasickému ListBoxu nezmenené.

for (int i = 1; i <= 10; i++)
{
    //Druhý parameter označuje, či bude item v základe zaškrtnutý.
    checkedListBox1.Items.Add("Item cislo" + i, (i % 2) == 0);
}

Na záver, ako to býva zvykom pridávam príklad ukazujúci funkčnosť všetkých prvkov. Tento krát to nebude príklad reálne použitelný, ale poslúži svojmu účelu.download

Priklad4
Pozn. Počítač na ktorom bol príklad spúštaní nebol pripojený k internetu. Z toho dôvodu sa na fotke zobrazuje informácia o tom že stránku nie je možné načítať.

Tymto sa s Vami lúčim a nabudúce si ukážeme už poslednú várku základných ovládacích prvkov vo Windows Forms.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Scroll to Top