Ustawienia aplikacji dotyczące kontrolek niestandardowych

Należy wykonać pewne zadania, aby zapewnić kontrolkom niestandardowym możliwość utrwalania ustawień aplikacji, gdy kontrolki są hostowane w aplikacjach innych firm.

Większość dokumentacji dotyczącej funkcji Application Ustawienia jest napisana zgodnie z założeniem, że tworzysz aplikację autonomiczną. Jeśli jednak tworzysz kontrolkę, którą inni deweloperzy będą hostować w swoich aplikacjach, musisz wykonać kilka dodatkowych kroków w celu prawidłowego utrwalania jego ustawień.

Ustawienia aplikacji i kontrolki niestandardowe

Aby kontrola prawidłowo utrwała jego ustawienia, musi hermetyzować proces, tworząc własną klasę otoki ustawień dedykowanych aplikacji, pochodzącą z ApplicationSettingsBaseklasy . Ponadto główna klasa formantu musi zaimplementować klasę IPersistComponentSettings. Interfejs zawiera kilka właściwości, a także dwie metody LoadComponentSettings i SaveComponentSettings. Jeśli dodasz kontrolkę do formularza przy użyciu Projektant Windows Forms w programie Visual Studio, formularze systemu Windows będą wywoływane LoadComponentSettings automatycznie po zainicjowaniu kontrolki. Musisz wywołać SaveComponentSettings się samodzielnie w Dispose metodzie kontrolki.

Ponadto należy zaimplementować następujące elementy, aby ustawienia aplikacji dla kontrolek niestandardowych działały prawidłowo w środowiskach czasu projektowania, takich jak Visual Studio:

  1. Niestandardowa klasa ustawień aplikacji z konstruktorem, który przyjmuje IComponent jako pojedynczy parametr. Ta klasa służy do zapisywania i ładowania wszystkich ustawień aplikacji. Podczas tworzenia nowego wystąpienia tej klasy przekaż kontrolkę niestandardową przy użyciu konstruktora.

  2. Utwórz tę klasę ustawień niestandardowych po utworzeniu i umieszczeniu kontrolki w formularzu, na przykład w procedurze obsługi zdarzeń formularza Load .

Aby uzyskać instrukcje dotyczące tworzenia niestandardowej klasy ustawień, zobacz How to: Create Application Ustawienia (Instrukcje: tworzenie aplikacji Ustawienia).

klucze Ustawienia i udostępnione Ustawienia

Niektóre kontrolki mogą być używane wiele razy w tym samym formularzu. W większości przypadków chcesz, aby te kontrolki utrwały własne ustawienia. SettingsKey Za pomocą właściwości w systemie IPersistComponentSettingsmożna podać unikatowy ciąg, który działa w celu uściślania wielu wersji kontrolki w formularzu.

Najprostszym sposobem implementacji SettingsKey jest użycie Name właściwości kontrolki dla elementu SettingsKey. Podczas ładowania lub zapisywania ustawień kontrolki należy przekazać SettingsKey wartość SettingsKey do właściwości ApplicationSettingsBase klasy. Aplikacja Ustawienia używa tego unikatowego klucza, gdy utrwala ustawienia użytkownika w formacie XML. Poniższy przykład kodu pokazuje, jak <userSettings> sekcja może szukać wystąpienia kontrolki niestandardowej o nazwie CustomControl1 , która zapisuje ustawienie dla jego Text właściwości.

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

Wszystkie wystąpienia kontrolki, które nie dostarczają wartości dla SettingsKey , będą współdzielić te same ustawienia.

Zobacz też