VB.NET - Windows Forms

Aplikace jsou tvořeny jedním nebo více formuláři (obvykle jich samozřejmě bývá více) a formuláře jsou to, co uživatel vidí na obrazovce. Pokud budete formuláře vytvářet s rozumem, pak je můžete udělat vysoce funkční, a přitom intuitivní a přehledné. Každý z Vás umí přidat na formulář komponenty, ale návrh formuláře není jen o tom.

AcceptButton, CancelButton
Tyto dvě vlastnosti Vám umožňují specifikovat výchozí tlačítka pro operace, které se mají provést při stisku klávesy Enter nebo Escape.  Pokud je specifikováno tlačítko na formuláři ve vlastnosti AcceptButton, pak stisk klávesy Enter vyvolá událost Click tohoto tlačítka bez ohledu na to, jaký prvek na formuláři má momentálně řízení událostí (focus). Je zřejmé, vlastnost CancelButton bude dělat to samé, ale při stisku klávesy Escape. Přiřazení tlačítek k těmto vlastnostem se provádí buď programově, nebo v okně vlastností formuláře si pomocí rozbalovací nabídky u této vlastnosti vyberete odpovídající tlačítko.

AutoScale
Tato vlastnost, jež může nabývat hodnot True/False, určuje, zda se má velikost komponent, které budou na formuláři, automaticky měnit na základě velikosti aktuálního písma. Pokud bude tato vlastnost nastavena na True a na formulář přidáte TextBox, pak bude výchozí výška tohoto prvku taková, aby se zobrazil jeden celý řádek textu napsaný aktuálním fontem a výška tohoto prvku nemůže být menší - je to blokováno. Na celé věci je ale zajímavé to, že je to vlastnost formuláře, ale aplikuje se na prvky, které na něj přidáváte. Pokud máte na formuláři již nějaké komponenty natažené a změníte font formuláře, pak se velikost těchto prvků nezmění. Vlastnost AutoScale se aplikuje pouze v okamžiku vytváření nového prvku.

AutoScroll
Toto je jedna z věcí, která mi ve VB6 výrazně chyběla a musel jsem si dokonce napsat vlastní komponentu (najdete ji v sekci software). Totiž pokud tuto vlastnost nastavíte na True, pak budou automaticky na formuláři zobrazovány posuvníky kdykoliv bude velikost formuláře menší, než jeho obsah. Má to obrovskou výhodu v tom, že nyní se již nemusí kalkulovat při návrhu formuláře s rozlišením obrazovky na klientské stanici, protože pokud je formulář větší, jsou automaticky zobrazeny posuvníky:

Vlastnost AutoScroll je svázána s dalšími třeni vlastnostmi, které ovlivňují zobrazování posuvníků: AutoScrollMargin, AutoScrollMinSize a AutoSrollPosition.

AutoScrollMargin
Tato hodnota, udávaná v pixelech, určuje, kolik se má "přidat" kolem každého prvku při kalkulování plochy formuláře. Pokud je velikost okna menší, než plocha všech prvků na formuláři + jejich "přídavek", pak jsou zobrazeny posuvníky. Když si v okně vlastností formuláře tuto vlastnost najdete, zjistíte, že jde rozbalit a obsahuje další dvě vlastnosti,a to šířku a výšku. Výchozí hodnota je (0,0), a pokud nastavuje tyto okraje, pak musíte vždy nastavit oba. programově by to mohlo vypadat třeba následovně:

Me.AutoScrollMargin = New System.Drawing.Size(20, 20)

což nám nastaví velikost okrajů kolem prvků na 20 pixelů na všechny strany.

AutoScrollMinSize
Tato vlastnost umožňuje nastavit minimální velikost formuláře, která když se překročí, tak vyvolá zobrazení posuvníků (samozřejmě pouze v případě, že AutoScroll = True). Nepleťte si to s minimální velikostí formuláře, to se nastavuje pomocí vlastnosti MinimumSize.

AutoScrollPosition
Tato vlastnost umožňuje načíst (nebo nastavit) hodnotu v pixelech, o kterou byly posuvníky posunuty oproti své původní lokaci. Pravděpodobně se tohohle bude využívat jen zřídka ve velmi specializovaných aplikacích. Pro běžnou práci využití nevidím.

BorderStyle
Vlastnost BorderStyle definuje styl hranic a vzhledu formuláře. Tuto vlastnost znáte z VB6, ale v .NET byly přidány některé nové vzhledy hranic.

MinimumSize, MaximumSize
Slouží pro definici minimální a maximální velikosti okna. Jak to pracuje asi netřeba nějak zvláště popisovat. programově lze nastavit například minimální velikost takto:

Me.MinimumSize = New Size(300, 300)

Pak je minimální velikost okna nastavena na 300x300 pixelů. Všimněte si, že opět nastavujeme dvě hodnoty - šířku a výšku. je to dáno tím, že se vlastně jedná o objekt typu Size, tak jako v případě AutoScrollMargin. Do výšky formuláře se samozřejmě započítává i výška nadpisu (titulku) okna. Pokud chcete nastavovat minimální výšku, která nebude zahrnovat výšku tohoto titulku, pak musíte použít tento zápis:

Me.MinimumSize = New Size(300, 300 - SystemInformation.CaptionHeight)

Ačkoliv zjišťujeme velikost titulku okna, musíme použít objekt SystemInformation, protože objekt formuláře nemá tuto metodu implementovánu.

SizeGripStyle
Určuje styl mřížky pro změnu velikosti okna. Tato mřížka může být zobrazena v pravém dolním rohu formuláře. Vlastně to není nic jiného, než grafický ukazatel uživateli, že si může měnit velikost formuláře. Což samozřejmě může i bez téhle mřížky (pokud má formulář nastavenu měnitelnou velikost). Mřížku můžete mít zobrazenou stále, nebo může být stále skryta anebo lze její zobrazování nastavit na automatiku, podle potřeby.

TopMost
Vlastnost, která může nabývat hodnot True/False a určuje, zda bude formulář vždy zobrazen nahoře nebo nikoliv (ideální pro Splash okna).

Zpět Další

Autor: The Bozena

iReklama.cz - nový reklamní systém
iReklama.cz - nový reklamní systém