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.
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.
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.
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.
Stiskneme OK a v aplikaci uvidíme načtený obrázek v prvku PictureBox jako prostředek.
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í 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:
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.
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.
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.