Skip to content


«
»

Co jsou prostředky a jak je použít ve Visual C# Express při vývoji WinForms aplikací

C# WinForms

Při tvorbě WinForms desktopových aplikací v jazyce C# často potřebujeme pracovat s externími soubory v aplikaci. To samozřejmě může být problém v libovolném programovacím jazyce, ukážeme však užití prostředků (Resources) v C#, konkrétně ve vývojovém prostředí Visual C# 2008 Express Edition u tvorby WinForms aplikací. K vytváření prostředků nemusíme manuálně psát ani řádek zdrojového kódu, vše lehce zvládneme pomocí Visual C# 2008 Express Edition.

Kdy použít prostředky? Jednoduše tehdy, když potřebujeme pracovat s externími daty, která nemá cílový uživatel aplikace. Ukážeme si typické využití pro obrázky v aplikaci, které potřebujeme vložit např. jako pozadí či do ovládacího prvku PictureBox. Nedávno jsem pro kamaráda programátora vytvářel jednoduché přáníčko ke svátku v C#, kde jsem si uvědomil význam prostředků. Chtěl jsem, aby v prvku PictureBox byl určitý obrázek, který zcela jistě kamarád nemá v počítači. I kdyby měl, nemusí být například ve stejné složce. A teď se právě hodí vložit obrázek jako .resx soubor, tedy prostředek. Naimportujeme si jej do aplikace.

Pokud do prvku PictureBox pro zobrazení obrázku načteme obrázek, je vázán cestou, kde je obrázek uložen. Pokud jej však vložím jako prostředek, je k aplikaci jakoby fixně přiložen právě ve formě .resx souboru. A cílovému uživateli se zobrazí jak má, bez nutnosti mít tento obrázek u sebe. Jak tedy na to? Předpokládejme, že jsme do formuláře vložili přes Toolbox prvek PictureBox v designerském režimu.

Vložení PictureBox, kde bude obrázek

Vložení PictureBox, kde bude obrázek

Nyní přistoupíme k přidání obrázku jako prostředku do vloženého prvku. Importujeme obrázek jako prostředek. V rohu PictureBox klikneme na ovládací šipku prvku a zvolíme Choose Image pro načtení obrázku, jak to ukazuje obrázek.

Načítáme obrázek do PictureBox prvku, ve kterém bude použitý prostředek

Načítáme obrázek do PictureBox prvku, ve kterém bude použitý prostředek

Otevře se dialogové okno se dvěmi volbami, pro nás je podstatná druhá volba k importu souboru jako prostředek. Proto zde vybereme Project resource file a stiskneme tlačítko Import… k importu.

Přichází na řadu stěžejní krok importu .resx souboru jako prostředek

Přichází na řadu stěžejní krok importu .resx souboru jako prostředek

Nyní se otevře klasická komponenta OpenFile pro výběr souboru, přičemž jako typ jsou vyfiltrovány grafické soubory. Obrázek najdeme a uvidíme ihned výsledek.

Výběr obrázku, který bude použitý v aplikaci

Výběr obrázku, který bude použitý v aplikaci

Stiskneme OK a v aplikaci uvidíme načtený obrázek v prvku PictureBox jako prostředek.

Výsledek se rýsuje, již máme obrázek v okně aplikace

Výsledek se rýsuje, již máme obrázek v okně aplikace

Nyní se podíváme do podokna Solution Explorer, že zobrazený obrázek je skutečně jako prostředek. Je to pěkně vidět. Načetli jsme soubor Italia.jpg jako prostředek.

Nyní náš vložený obrázek vidíme jako vložený .resx soubor, tedy prostředek

Nyní náš vložený obrázek vidíme jako vložený .resx soubor, tedy prostředek

Nyní doladíme zobrazení obrázku v PictureBox, například roztažením volbou Zoom z ovládací šipky prvku. Výsledná spuštěná aplikace vypadá takto:

Zkompilovaná a spuštěná WinForms aplikace s námi zobrazeným obrázkem

Zkompilovaná a spuštěná WinForms aplikace s námi zobrazeným obrázkem

Tlačítko je navíc, nijak nesouvisí s příkladem. Na tomto podotýkám, námi vytvořená aplikace nemá prakticky žádný smysluplný užitek, cílem bylo ukázat, jak v prostředí Visual C# 2008 Express Edition pracovat s prostředky a jak je použít. Díky nim zajistíme, že když program někomu pošleme, bez problémů se mu zobrazí stejný obrázek ve stejném formátu, je totiž načtený fixně s programem (v kódu) jako prostředek. Tohle byl cíl, ukázat využití prostředků v praxi a ukázat to na načtení obrázku od prvku PictureBox. Samozřejmě jako prostředky mohou být i jiné externí soubory, které jsou v programu nutné a příjemce je nemusí mít. Jako další možnou motivaci k využití prostředků uvádím příklad jednoduchého C# kalendáře, kde je použita komponenta Calendar a jako prostředek ikona kalendáře. Prostředky se využívají především při grafickém návrhu aplikací, resp. jejich GUI.

Ikona kalendáře jako další ukázka použití prostředků

Ikona kalendáře jako další ukázka použití prostředků

Praktickým progrmaováním samozřejmě najdete více možností, jak prostředky uplatnit. A nemusí to být jen v C#, může to být jakýkoli jazyk, ve kterém se dají programovat GUI aplikace, například Java. Většina současných vývojových prostředí Vám umožní s prostředky pracovat a efektivně je využívat pro zakomponování externích prvků do programu. Jak jsme podoktli na začátku, nemuseli jsme pro vložení prostředku do okna WinForms napsat jediný řádek zdrojového kódu, Visual C# 2008 Express Edition obstaral vše za nás.

Rubrika: Návody, Počítačové hry, Tipy.

0 reakcí

Mějte přehled o nových komentářích, přihlašte se k odběru RSS kanálu komentářů tohoto příspěvku.