Přehled nastavení aplikace

Tento článek popisuje, jak vytvořit a uložit data nastavení jménem vaší aplikace a uživatelů.

Funkce Nastavení aplikace model Windows Forms usnadňuje vytváření, ukládání a údržbu vlastních aplikací a uživatelských předvoleb v klientském počítači. Pomocí model Windows Forms nastavení aplikace můžete ukládat nejen data aplikací, jako jsou data databáze připojovací řetězec, ale také uživatelská data, jako jsou předvolby aplikace uživatele. Pomocí sady Visual Studio nebo vlastního spravovaného kódu můžete vytvořit nová nastavení, číst je a zapisovat na disk, svázat je s vlastnostmi ve formulářích a ověřit data nastavení před načtením a uložením.

Nastavení aplikace umožňuje vývojářům ukládat stav do své aplikace pomocí velmi malého vlastního kódu a je náhradou za dynamické vlastnosti v předchozích verzích rozhraní .NET Framework. Nastavení aplikace obsahuje mnoho vylepšení dynamických vlastností, které jsou jen pro čtení, zpožděné a vyžadují více vlastního programování. Dynamické třídy vlastností byly zachovány v rozhraní .NET Framework 2.0, ale jsou to jen třídy prostředí, které dynamicky zabalí třídy nastavení aplikace.

Co jsou aplikační Nastavení

Vaše model Windows Forms aplikace často vyžadují data, která jsou pro spuštění aplikace důležitá, ale nechcete je zahrnout přímo do kódu aplikace. Pokud vaše aplikace používá webovou službu nebo databázový server, můžete tyto informace uložit do samostatného souboru, abyste je mohli v budoucnu změnit bez opětovného zkompilování. Podobně můžou vaše aplikace vyžadovat ukládání dat specifických pro aktuálního uživatele. Většina aplikací má například uživatelské předvolby, které přizpůsobí vzhled a chování aplikace.

Nastavení aplikace řeší obě potřeby tím, že poskytuje snadný způsob, jak ukládat nastavení s oborem aplikace i uživatelem v klientském počítači. Pomocí sady Visual Studio nebo editoru kódu definujete nastavení pro danou vlastnost zadáním jejího názvu, datového typu a oboru (aplikace nebo uživatele). Související nastavení můžete dokonce umístit do pojmenovaných skupin pro snadnější použití a čitelnost. Po definování se tato nastavení zachovají a automaticky se čtou do paměti za běhu. Připojitelná architektura umožňuje změnit mechanismus trvalosti, ale ve výchozím nastavení se používá místní systém souborů.

Nastavení aplikace funguje tak, že data zachovají jako XML do různých konfiguračních souborů (.config), které odpovídají tomu, jestli je nastavení oborem aplikace nebo uživatelem. Ve většině případů jsou nastavení vymezená aplikací jen pro čtení; protože se jedná o informace o programu, obvykle je nebudete muset přepsat. Naproti tomu nastavení s oborem uživatele lze číst a zapisovat bezpečně za běhu, i když vaše aplikace běží pod částečným vztahem důvěryhodnosti. Další informace o částečném vztahu důvěryhodnosti najdete v tématu Zabezpečení v přehledu model Windows Forms.

Nastavení jsou uloženy jako fragmenty XML v konfiguračních souborech. Nastavení v oboru aplikace jsou reprezentována <applicationSettings> elementem a obecně jsou umístěny v app.exe.config, kde aplikace je název hlavního spustitelného souboru. Uživatelsky vymezená nastavení jsou reprezentována elementem <userSettings> a jsou umístěna v souboru user.config. Soubor app.exe.config musíte nasadit do aplikace. Architektura nastavení vytvoří soubor user.config na vyžádání při prvním uložení nastavení pro daného uživatele. Můžete také definovat <userSettings> blok v souboru app.exe.config, který poskytuje výchozí hodnoty pro nastavení v oboru uživatele.

Vlastní ovládací prvky mohou také uložit vlastní nastavení implementací IPersistComponentSettings rozhraní, které zveřejňuje metodu SaveSettings . Ovládací prvek model Windows Forms ToolStrip implementuje toto rozhraní pro uložení umístění panelů nástrojů a položek panelu nástrojů mezi relacemi aplikace. Další informace o vlastních ovládacích prvcích a nastavení aplikace naleznete v tématu Nastavení aplikace pro vlastní ovládací prvky.

Kde jsou uložená nastavení v oboru uživatele

Výchozí zprostředkovatel , LocalFileSettingsProviderukládá nastavení v oboru uživatele ve LocalApplicationData složce. Pokud tato složka není k dispozici, použije se ApplicationData složka. Vytvoří se podsložka specifická pro aplikaci, do které se uloží soubor nastavení s oborem uživatele. Název této složky vychází ze tří atributů o hlavním sestavení aplikace:

Pokud se změní některá z předchozích podrobností sestavení, předchozí nastavení s oborem uživatele se ztratí, protože se vygeneruje nový název podsložky. Pokud je například vydána nová verze aplikace a AssemblyName.Version hodnota se liší od předchozí verze, název podsložky použité k uložení změn nastavení v oboru uživatele. Pokud se uživatelská nastavení musí uchovávat mezi verzemi aplikací, vytvořte vlastního zprostředkovatele nastavení. Další informace najdete v tématu Vlastní poskytovatelé Nastavení.

Omezení Nastavení aplikací

Nastavení aplikace nelze použít v nespravované aplikaci, která je hostitelem rozhraní .NET Framework. Nastavení nebudou fungovat v takových prostředích, jako jsou doplňky sady Visual Studio, C++ pro systém Microsoft Office, řízení hostování v Internet Exploreru nebo doplňky a projekty aplikace Microsoft Outlook.

V současné době nelze vytvořit vazbu na některé vlastnosti v model Windows Forms. Nejdůležitějším příkladem je ClientSize vlastnost, protože vazba na tuto vlastnost by způsobovala nepředvídatelné chování za běhu. Tyto problémy můžete obvykle vyřešit tak, že tato nastavení uložíte a načtete programově.

Nastavení aplikace nemá žádné integrované zařízení pro automatické šifrování informací. Nikdy byste neměli ukládat informace související se zabezpečením, jako jsou hesla databáze, ve formátu prostého textu. Pokud chcete takové citlivé informace uložit, zodpovídáte za zabezpečení vy jako vývojář aplikace. Pokud chcete ukládat připojovací řetězec, doporučujeme používat integrované zabezpečení systému Windows a neschybovat se k pevnému kódování hesel do adresy URL. Další informace najdete v tématu Zabezpečení přístupu kódu a ADO.NET.

Začínáme s Nastavení aplikací

Pokud používáte Visual Studio, můžete definovat nastavení v návrháři model Windows Forms pomocí vlastnosti (Application Nastavení) v okně Vlastnosti. Když tímto způsobem definujete nastavení, Sada Visual Studio automaticky vytvoří vlastní spravovanou třídu obálky, která přidruží každé nastavení k vlastnosti třídy. Visual Studio se také postará o vytvoření vazby nastavení na vlastnost formuláře nebo ovládacího prvku, aby se při zobrazení formuláře automaticky obnovilo nastavení ovládacího prvku a automaticky se uloží při zavření formuláře.

Pokud chcete mít podrobnější kontrolu nad nastavením, můžete definovat vlastní třídu obálky nastavení aplikací. Toho se dosahuje odvozením třídy z ApplicationSettingsBase, přidání vlastnosti, která odpovídá každému nastavení, a použití speciálních atributů na tyto vlastnosti. Podrobnosti o vytváření tříd obálky naleznete v tématu Architektura Nastavení aplikace.

Třídu můžete také použít k vytvoření vazby Binding nastavení programově na vlastnosti formulářů a ovládacích prvků.

Viz také