Sdílet prostřednictvím


Nastavení aplikace pro vlastní ovládací prvky

Abyste svým vlastním ovládacím prvkům mohli zachovat nastavení aplikace při hostování ovládacích prvků v aplikacích třetích stran, musíte provést určité úkoly.

Většina dokumentace o funkci Nastavení aplikace je napsána za předpokladu, že vytváříte samostatnou aplikaci. Pokud ale vytváříte ovládací prvek, který budou ostatní vývojáři hostovat ve svých aplikacích, musíte provést několik dalších kroků, aby ovládací prvek zachoval správné nastavení.

Aplikační Nastavení a vlastní ovládací prvky

Aby váš ovládací prvek správně zachoval jeho nastavení, musí zapouzdřit proces vytvořením vlastní vyhrazené aplikace nastavení obálky, odvozené z ApplicationSettingsBase. Kromě toho hlavní řídicí třída musí implementovat IPersistComponentSettings. Rozhraní obsahuje několik vlastností, stejně jako dvě metody, LoadComponentSettings a SaveComponentSettings. Pokud ovládací prvek přidáte do formuláře pomocí návrháře model Windows Forms v sadě Visual Studio, bude model Windows Forms automaticky volat LoadComponentSettings při inicializaci ovládacího prvku. Musíte volat SaveComponentSettings sami v Dispose metodě ovládacího prvku.

Kromě toho byste měli implementovat následující, aby nastavení aplikace pro vlastní ovládací prvky fungovalo správně v prostředích v době návrhu, například v sadě Visual Studio:

  1. Vlastní třída nastavení aplikace s konstruktorem, který přebírá jako IComponent jediný parametr. Pomocí této třídy můžete uložit a načíst všechna nastavení aplikace. Když vytvoříte novou instanci této třídy, předejte vlastní ovládací prvek pomocí konstruktoru.

  2. Vytvořte tuto vlastní třídu nastavení po vytvoření ovládacího prvku a umístění do formuláře, například v obslužné rutině Load události formuláře.

Pokyny k vytvoření vlastní třídy nastavení najdete v tématu Postupy: Vytvoření Nastavení aplikace.

klíče Nastavení a sdílené Nastavení

Některé ovládací prvky lze použít vícekrát ve stejném formuláři. Ve většině případů budete chtít, aby tyto ovládací prvky zachovaly vlastní individuální nastavení. SettingsKey Pomocí vlastnosti IPersistComponentSettingsmůžete zadat jedinečný řetězec, který slouží k nejednoznačnosti více verzí ovládacího prvku ve formuláři.

Nejjednodušší způsob implementace SettingsKey je použít Name vlastnost ovládacího prvku pro SettingsKey. Když načtete nebo uložíte nastavení ovládacího prvku, předáte hodnotu SettingsKey vlastnosti SettingsKeyApplicationSettingsBase třídy. Aplikace Nastavení používá tento jedinečný klíč, když zachová nastavení uživatele do XML. Následující příklad kódu ukazuje, jak <userSettings> část může hledat instanci vlastního ovládacího prvku s názvem CustomControl1 , který uloží nastavení pro jeho Text vlastnost.

<userSettings>
    <CustomControl1>
        <setting name="Text" serializedAs="string">
            <value>Hello, World</value>
        </setting>
    </CustomControl1>
</userSettings>

Všechny instance ovládacího prvku, které nezadají hodnotu pro SettingsKey , budou sdílet stejná nastavení.

Viz také