|
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).
|