Nastavení aplikace
Nastavení aplikace umožňuje ukládání a načítání nastavení vlastností a další informace o aplikaci dynamicky. Umožňují také udržovat vlastní aplikační a uživatelské předvolby v klientském počítači. Často jde o data (například připojovací řetězec), která jsou kritická pro spuštění aplikace, a která nechcete zahrnout přímo do kódu aplikace. Můžete chtít uložit dva připojovací řetězce k databázi a načíst jeden z nich v době běhu na základě umístění počítače. Nebo můžete chtít ukládat uživatelské předvolby barev a potom je znovu načíst při příštím spuštění aplikace.
Všimněte si, že nastavení aplikace jsou funkce Visual Studio, které nahrazují funkce dynamických vlastností v dřívějších verzích (Informace o dynamických vlastnostech naleznete v tématu Konfigurace aplikací pomocí dynamických vlastností.)
Každé nastavení aplikace musí mít jedinečný název. Název může obsahovat libovolnou kombinaci písmen, čísel nebo podtržítek, který nezačíná číslem a nesmí obsahovat mezery. Název lze změnit prostřednictvím vlastnosti Name.
Nastavení aplikace lze uložit jako libovolný typ dat, který je serializovatelný v jazyce XML nebo má TypeConverter, který implementuje ToString/FromString. Nejběžnější typy jsou String, Integer, a Boolean, ale můžete také uložit hodnoty jako Color, Object nebo jako připojovací řetězec.
Nastavení aplikace také obsahuje hodnotu. Hodnota je nastavena s vlastností Value a musí se shodovat s nastaveným typem dat.
Kromě toho nastavení aplikace mohou být vázány na vlastnost formuláře nebo ovládací prvek za doby návrhu. Další informace naleznete v tématu Postupy: Přidat nebo odebrat nastavení aplikace.
Existují dva typy nastavení aplikace založené na rozsahu:
Nastavení rozsahu aplikace lze použít pro informace, jako je například adresa URL pro webovou službu nebo připojovací řetězec databáze. Tyto hodnoty jsou přidruženy k aplikaci. Proto je uživatelé nemohou změnit za běhu.
Nastavení s rozsahem uživatele lze použít pro informace, jako jsou například uchování poslední pozice formuláře nebo předvoleb písma. Uživatelé mohou změnit tyto hodnoty v době běhu.
Typ nastavení je možné změnit pomocí vlastnosti Rozsah.
Systém projektu ukládá nastavení aplikace do dvou souborů XML: app.config soubor, který je vytvořen v době návrhu, když vytvoříte první nastavení aplikace; a user.config soubor, který je vytvořen v době běhu, když uživatel, který spouští aplikaci, změní hodnotu nastavení některého uživatele. Všimněte si, že změny v nastavení uživatele nejsou zapsány na disk, pokud aplikace konkrétně nevolá metodu, která by to provedla.
Vytvoření nastavení aplikace v době návrhu
V době návrhu můžete vytvořit nastavení aplikace dvěma způsoby: pomocí stránky Nastavení Návrháře projektu nebo pomocí okna Vlastnosti pro formulář nebo ovládací prvek, který umožňuje svázat nastavení s vlastností. Další informace naleznete v tématu Postupy: Přidat nebo odebrat nastavení aplikace.
Když vytvoříte nastavení s rozsahem aplikace (například připojovací řetězec databáze nebo odkaz na prostředky serveru), Visual Studio ho uloží do app.config se značkou <applicationSettings>. (Připojovací řetězce jsou uloženy pod značkou <connectionStrings>.)
Když vytvoříte nastavení s rozsahem uživatele (například výchozí písmo, domovská stránka nebo velikost okna),Visual Studio ho uloží do app.config se značkou <userSettings>.
Poznámka k zabezpečení |
---|
Při ukládání připojovacích řetězců v app.config byste měli podniknout opatření k zamezení odhalení citlivých informací, jako jsou například hesla nebo cesty k serveru, v připojovacím řetězci. Pokud získáte informaci o připojovacím řetězci z externího zdroje, například uživatelské zadání uživatelského ID a hesla, musíte být opatrní a zajistit, že hodnoty, které lze použít k sestavení připojovacího řetězce neobsahují další parametry připojovacího řetězce, které mění chování vašeho připojení. Zvažte použití funkce Protected Configuration pro šifrování citlivých informací v konfiguračním souboru. Další informace naleznete v tématu Protecting Connection Information (ADO.NET). |
Poznámka
Protože neexistuje žádný model konfiguračního souboru pro knihovny tříd, nastavení aplikace nelze aplikovat pro projekty knihovny tříd. Výjimka je projekt knihovny DLL Visual Studio Tools for Office, který může mít konfigurační soubor.
Použití vlastních souborů nastavení
Vlastní soubory nastavení můžete přidat do projektu za vhodné řízení skupiny nastavení. Nastavení, které jsou obsaženy v jediném souboru, jsou načteny a uloženy jako celek. Proto možnost uložit nastavení do samostatných souborů pro často používané a zřídka používané skupiny, může ušetřit čas v načítání a ukládání nastavení.
Například můžete přidat soubor jako je SpecialSettings.settings do vašeho projektu. Zatímco vaše třída SpecialSettings není vystavena v oboru názvů My, Zobrazit kód může přečíst soubor s vlastním nastavením obsahující Partial Class SpecialSettings.
Návrhář nastavení nejprve hledá soubor Settings.settings, který vytvoří systém projektu; toto je výchozí soubor, který Návrhář projektu zobrazí v kartě Nastavení. Settings.settings je umístěn ve složce projektu My pro projekty Visual Basic a ve složce vlastnosti pro projekty Visual C#. Návrhář projektu pak vyhledá ostatní soubory nastavení v kořenové složce projektu. Proto byste zde měli umístit soubor s vlastním nastavením. Přidáte-li soubor .settings jinde v projektu, Návrhář projektu nebude schopen jej vyhledat.
Přístup nebo změna nastavení aplikace za doby běhu v jazyce Visual Basic
V projektech Visual Basic můžete získat přístup k nastavení aplikace za běhu pomocí objektu My.Settings. Na stránce Nastavení klikněte na tlačítko Zobrazit kód k zobrazení souboru Settings.vb. (Další informace naleznete v tématu Postupy: Přístup k událostem nastavení.) Settings.vb definuje třídu Settings, která umožňuje zpracování těchto událostí na třídě nastavení: SettingChanging, PropertyChanged, SettingsLoaded a SettingsSaving. Všimněte si, že třída Settings v Settings.vb je částečná třída zobrazující pouze uživatelský kód, nikoli celou generovanou třídu. Další informace o přístupu k nastavení aplikace pomocí objektu My.Settings naleznete v tématu Přístup k nastavení aplikace.
Hodnoty všech nastavení rozsahu uživatele, která uživatel změní za běhu (například umístění formuláře), jsou uloženy v souboru user.config. Všimněte si, že výchozí hodnoty jsou stále uloženy v app.config.
Pokud jste změnili nastavení rozsahu nějakého uživatele za běhu, například v testování aplikace a chcete resetovat tato nastavení na výchozí hodnoty, klikněte na tlačítko Synchronizovat. Informace o tomto ovládacím prvku naleznete v tématu Stránka nastavení designer projekt.
Důrazně doporučujeme používat objekt My.Settings a výchozí soubor .settings k přístupu k nastavení. Důvodem je, že můžete použít Návrháře nastavení k přiřazení vlastností do nastavení, a navíc, uživatelské nastavení je automaticky uloženo před vypnutím aplikace. Avšak vaše aplikace Visual Basic může získat přístup k nastavení přímo. V takovém případě budete muset získat přístup ke třídě MySettings a použít vlastní soubor .settings v kořenové složce projektu. Musíte také uložit nastavení uživatele před ukončením aplikace, jako byste to udělali pro aplikaci v jazyce C#; to je popsáno v následujícím oddíle.
Přístup nebo změna nastavení aplikace za doby běhu v jazyce Visual C#
V jazycích jiných než Visual Basic, jako jsou například Visual C#, je nutné získat přístup ke třídě Settings přímo, jak je znázorněno v následujícím příkladě Visual C#.
Properties.Settings.Default.FirstUserSetting = "abc";
Musíte také explicitně volat metodu Save této obálkové třídy s cílem zachovat nastavení uživatele. To lze obvykle provést v obslužné rutině události Closing hlavního formuláře. Následující příklad Visual C# ukazuje volání metody Save.
Properties.Settings.Default.Save();
Konkrétní příklad, jak vytvořit nové nastavení aplikace a svázat ho s vlastnostmi formuláře, naleznete v tématu How to: Create Application Settings Using the Designer. Další obecné informace o přístupu k nastavení aplikace prostřednictvím třídy Settings naleznete v tématu Application Settings Overview.
Viz také
Úkoly
Postupy: Přidat nebo odebrat nastavení aplikace
Postupy: Přístup k událostem nastavení
Odkaz
Stránka nastavení designer projekt