ApplicationSettingsBase イベント

名前 | 説明 | |
---|---|---|
![]() | PropertyChanged | アプリケーション設定プロパティの値が変更された後に発生します。 |
![]() | SettingChanging | アプリケーション設定プロパティの値が変更される前に発生します。 |
![]() | SettingsLoaded | アプリケーション設定をストレージから取得した後に発生します。 |
![]() | SettingsSaving | データ ストアに値が保存される前に発生します。 |

関連項目
ApplicationSettingsBase クラスSystem.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute
その他の技術情報
Windows フォームのアプリケーション設定ApplicationSettingsBase クラス
アセンブリ: System (system.dll 内)

Public MustInherit Class ApplicationSettingsBase Inherits SettingsBase Implements INotifyPropertyChanged

ApplicationSettingsBase は、Web ベースのアプリケーションで使用する SettingsBase クラスに次の機能を追加します。
アプリケーション設定アーキテクチャでは、設定プロパティのグループにアクセスするには、ApplicationSettingsBase から具象ラッパー クラスを派生する必要があります。ラッパー クラスでは、次の方法で ApplicationSettingsBase をカスタマイズします。
-
アクセス対象のすべての設定プロパティでは、厳密に型指定された対応するパブリック プロパティがラッパー クラスに追加されます。このプロパティには、アプリケーションの読み取り/書き込み設定用の get アクセサと set アクセサがあります。ただし、読み取り専用の設定の場合は get アクセサだけです。
-
ラッパー クラスのパブリック プロパティに適切な属性を適用して、設定プロパティの特性を示す必要があります。この特性には、設定のスコープ (アプリケーションまたはユーザー)、設定でローミングのサポートが必要かどうか、設定の既定値、使用する設定プロバイダなどがあります。各プロパティでは、ApplicationScopedSettingAttribute または UserScopedSettingAttribute を使用して、スコープを指定する必要があります。既定の LocalFileSettingsProvider を使用する場合、アプリケーション スコープの設定は読み取り専用です。
ApplicationSettingsBase クラスは、リフレクションを使用して実行時にこれらの属性を検出します。この情報の大半は、ストレージや永続形式などに対する役割を担う設定プロバイダ層に渡されます。
アプリケーションに複数の設定ラッパー クラスがある場合、各クラスは設定グループを定義します。各グループの特性は次のとおりです。
既定では、クライアント ベースのすべてのアプリケーションは、LocalFileSettingsProvider を使用してストレージを提供します。これに代わる設定プロバイダが必要な場合は、ラッパー クラスまたはプロパティを対応する SettingsProviderAttribute で修飾する必要があります。

アプリケーション設定を使用して、メイン フォームの属性 (位置、サイズ、背景色、およびタイトル バー テキスト) を保持するコード例を次に示します。これらのすべての属性は、それぞれ FormLocation、FormSize、FormBackColor および FormText という FormSettings クラスの単一アプリケーション設定プロパティとして保持されます。FormText を除くすべてのプロパティは、関連付けられているフォーム プロパティにデータ バインドされ、既定の設定値 DefaultSettingValueAttribute が適用されます。
フォームには、次の名前と機能を持つ 4 つの子コントロールが含まれます。
アプリケーションを実行するたびに、フォームのタイトル テキストにピリオド文字が追加されます。
partial class Form1 : Form { private FormSettings frmSettings1 = new FormSettings(); public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //Associate settings property event handlers. frmSettings1.SettingChanging += new SettingChangingEventHandler( frmSettings1_SettingChanging); frmSettings1.SettingsSaving += new SettingsSavingEventHandler( frmSettings1_SettingsSaving); //Data bind settings properties with straightforward associations. Binding bndBackColor = new Binding("BackColor", frmSettings1, "FormBackColor", true, DataSourceUpdateMode.OnPropertyChanged); this.DataBindings.Add(bndBackColor); Binding bndSize = new Binding("Size", frmSettings1, "FormSize", true, DataSourceUpdateMode.OnPropertyChanged); this.DataBindings.Add(bndSize); Binding bndLocation = new Binding("Location", frmSettings1, "FormLocation", true, DataSourceUpdateMode.OnPropertyChanged); this.DataBindings.Add(bndLocation); //For more complex associations, manually assign associations. String savedText = frmSettings1.FormText; //Since there is no default value for FormText. if (savedText != null) this.Text = savedText; } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { //Synchronize manual associations first. frmSettings1.FormText = this.Text + '.'; frmSettings1.Save(); } private void btnBackColor_Click(object sender, EventArgs e) { if (DialogResult.OK == colorDialog1.ShowDialog()) { Color c = colorDialog1.Color; this.BackColor = c; } } private void btnReset_Click(object sender, EventArgs e) { frmSettings1.Reset(); this.BackColor = SystemColors.Control; } private void btnReload_Click(object sender, EventArgs e) { frmSettings1.Reload(); } void frmSettings1_SettingChanging(object sender, SettingChangingEventArgs e) { tbStatus.Text = e.SettingName + ": " + e.NewValue; } void frmSettings1_SettingsSaving(object sender, CancelEventArgs e) { //Should check for settings changes first. DialogResult dr = MessageBox.Show( "Save current values for application settings?", "Save Settings", MessageBoxButtons.YesNo); if (DialogResult.No == dr) { e.Cancel = true; } } } //Application settings wrapper class sealed class FormSettings : ApplicationSettingsBase { [UserScopedSettingAttribute()] public String FormText { get { return (String)this["FormText"]; } set { this["FormText"] = value; } } [UserScopedSetting()] [DefaultSettingValueAttribute("0, 0")] public Point FormLocation { get { return (Point)(this["FormLocation"]); } set { this["FormLocation"] = value; } } [UserScopedSetting()] [DefaultSettingValueAttribute("225, 200")] public Size FormSize { get { return (Size)this["FormSize"]; } set { this["FormSize"] = value; } } [UserScopedSetting()] [DefaultSettingValueAttribute("LightGray")] public Color FormBackColor { get { return (Color)this["FormBackColor"]; } set { this["FormBackColor"] = value; } } }
FormSettings ^ formSettings; public: AppSettingsForm() { formSettings = gcnew FormSettings; InitializeComponent(); } private: void AppSettingsForm_Load(Object^ sender, EventArgs^ e) { //Associate settings property event handlers. formSettings->SettingChanging += gcnew SettingChangingEventHandler( this, &AppSettingsForm::FormSettings_SettingChanging); formSettings->SettingsSaving += gcnew SettingsSavingEventHandler( this,&AppSettingsForm::FormSettings_SettingsSaving); //Data bind settings properties with straightforward associations. Binding^ backColorBinding = gcnew Binding("BackColor", formSettings, "FormBackColor", true, DataSourceUpdateMode::OnPropertyChanged); this->DataBindings->Add(backColorBinding); Binding^ sizeBinding = gcnew Binding("Size", formSettings, "FormSize", true, DataSourceUpdateMode::OnPropertyChanged); this->DataBindings->Add(sizeBinding); Binding^ locationBinding = gcnew Binding("Location", formSettings , "FormLocation", true, DataSourceUpdateMode::OnPropertyChanged); this->DataBindings->Add(locationBinding); //For more complex associations, manually assign associations. String^ savedText = formSettings->FormText; //Since there is no default value for FormText. if (savedText != nullptr) { this->Text = savedText; } } private: void AppSettingsForm_FormClosing(Object^ sender, FormClosingEventArgs^ e) { //Synchronize manual associations first. formSettings->FormText = this->Text + '.'; formSettings->Save(); } private: void BackColorButton_Click(Object^ sender, EventArgs^ e) { if (::DialogResult::OK == colorDialog->ShowDialog()) { Color color = colorDialog->Color; this->BackColor = color; } } private: void ResetButton_Click(Object^ sender, EventArgs^ e) { formSettings->Reset(); this->BackColor = SystemColors::Control; } private: void ReloadButton_Click(Object^ sender, EventArgs^ e) { formSettings->Reload(); } private: void FormSettings_SettingChanging(Object^ sender, SettingChangingEventArgs^ e) { statusDisplay->Text = e->SettingName + ": " + e->NewValue; } private: void FormSettings_SettingsSaving(Object^ sender, CancelEventArgs^ e) { //Should check for settings changes first. ::DialogResult^ dialogResult = MessageBox::Show( "Save current values for application settings?" , "Save Settings", MessageBoxButtons::YesNo); if (::DialogResult::No == dialogResult) { e->Cancel = true; } } };

System.Configuration.SettingsBase
System.Configuration.ApplicationSettingsBase


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ApplicationSettingsBase メンバ
System.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute
その他の技術情報
Windows フォームのアプリケーション設定
ApplicationSettingsBase コンストラクタ ()
アセンブリ: System (system.dll 内)


既定のコンストラクタは、ApplicationSettingsBase から派生した現在の設定ラッパー クラスに関連付けられたコンポーネントが存在しないことを前提として動作するようにデザインされています。
ラッパー クラスのインスタンスを作成すると、継承したコードは次のアクションを自動的に実行します。
-
[UserScopedSettingAttribute] または [ApplicationScopedSettingAttribute] でマークされたラッパーの各プロパティについて、対応する SettingsProperty が作成されます。
-
各 SettingsProperty には、既定値や設定プロバイダなど、ラッパーのプロパティにオプションで存在する他の属性に基づいて設定されたプロパティがいくつかあります。
-
他のすべての属性は、属性バッグである SettingsProperty クラスの Attributes プロパティに配置されます。
-
すべての SettingsProperty オブジェクトは、ApplicationSettingsBase クラスの Properties プロパティによって表される SettingsPropertyCollection に追加されます。次に、このコレクションが Initialize メソッドに渡されます。
上記の手順 3. で示したように、ApplicationSettingsBase は、複数のプロパティ属性 (具体的には、SettingsProviderAttribute、DefaultSettingValueAttribute、および SettingsSerializeAsAttribute) とネイティブで連動します。他のすべての設定属性は、適切な基本プロバイダに渡されます。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
SettingsProperty
SettingsPropertyCollection
Initialize
ApplicationSettingsBase コンストラクタ (String)
アセンブリ: System (system.dll 内)


このコンストラクタは、SettingsKey プロパティを settingsKey パラメータの値に初期化します。このプロパティは、同じアプリケーション ドメイン内の設定ラッパー クラスのさまざまなインスタンスを明確に区別するうえで役立ちます。
ラッパー クラスのインスタンス生成時に、リフレクションがどのように使用されるかについては、既定の ApplicationSettingsBase コンストラクタに関するトピックを参照してください。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ApplicationSettingsBase コンストラクタ (IComponent)
アセンブリ: System (system.dll 内)



このコンストラクタは、次の呼び出しを使用する ApplicationSettingsBase(IComponent,String) コンストラクタとまったく同じです。
ApplicationSettingsBase(owner, String.Empty)
ラッパー クラスのインスタンス生成時に、リフレクションがどのように使用されるかについては、既定の ApplicationSettingsBase コンストラクタに関するトピックを参照してください。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ApplicationSettingsBase コンストラクタ

名前 | 説明 |
---|---|
ApplicationSettingsBase () | ApplicationSettingsBase クラスのインスタンスを既定の状態に初期化します。 |
ApplicationSettingsBase (IComponent) | 指定された所有者コンポーネントを使用して、ApplicationSettingsBase クラスのインスタンスを初期化します。 |
ApplicationSettingsBase (String) | 指定された設定キーを使用して、ApplicationSettingsBase クラスのインスタンスを初期化します。 |
ApplicationSettingsBase (IComponent, String) | 指定された所有者コンポーネントと設定キーを使用して、ApplicationSettingsBase クラスのインスタンスを初期化します。 |

関連項目
ApplicationSettingsBase クラスApplicationSettingsBase メンバ
System.Configuration 名前空間
SettingsProperty
SettingsPropertyCollection
Initialize
ApplicationSettingsBase コンストラクタ (IComponent, String)
アセンブリ: System (system.dll 内)

Dim owner As IComponent Dim settingsKey As String Dim instance As New ApplicationSettingsBase(owner, settingsKey)


owner パラメータで指定した IComponent オブジェクトは、このアプリケーション設定クラスの現在のインスタンスの所有者として機能します。ApplicationSettingsBase から派生した設定ラッパー クラスの初期化中に、ISettingsProviderService が所有者のサイトに照会されます。該当する設定プロバイダが存在する場合は、そのプロバイダが SettingsProviderAttribute で指定したラッパー クラスのすべてのプロパティのネイティブ設定プロバイダよりも優先して使用されます。
このコンストラクタは、SettingsKey プロパティを settingsKey パラメータの値に初期化します。このプロパティは、同じアプリケーション ドメイン内のラッパー クラスのさまざまなインスタンスを明確に区別するうえで役立ちます。
ラッパー クラスのインスタンス生成時に、リフレクションがどのように使用されるかについては、既定の ApplicationSettingsBase コンストラクタに関するトピックを参照してください。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
ISettingsProviderService
SettingsProviderAttribute
SettingsKey
ApplicationSettingsBase プロパティ

名前 | 説明 | |
---|---|---|
![]() | Context | オーバーライドされます。 設定グループに関連付けられている、アプリケーション設定のコンテキストを取得します。 |
![]() | IsSynchronized | オブジェクトへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。 ( SettingsBase から継承されます。) |
![]() | Item | オーバーライドされます。 指定したアプリケーション設定プロパティの値を取得または設定します。 |
![]() | Properties | オーバーライドされます。 ラッパーの設定プロパティのコレクションを取得します。 |
![]() | PropertyValues | オーバーライドされます。 |
![]() | Providers | オーバーライドされます。 ラッパーが使用するアプリケーション設定プロバイダのコレクションを取得します。 |
![]() | SettingsKey | アプリケーション設定グループの設定キーを取得または設定します。 |

関連項目
ApplicationSettingsBase クラスSystem.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute
その他の技術情報
Windows フォームのアプリケーション設定ApplicationSettingsBase メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetPreviousVersion | 同じアプリケーションの以前のバージョンの、指定した設定プロパティの値を返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | Initialize | SettingsBase オブジェクトによって使用される内部プロパティを初期化します。 ( SettingsBase から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Reload | 永続ストレージからアプリケーション設定プロパティ値を更新します。 |
![]() | Reset | 保持されているアプリケーション設定値を対応する既定のプロパティに復元します。 |
![]() | Save | オーバーライドされます。 アプリケーション設定プロパティの現在の値を格納します。 |
![]() | Synchronized | 同期されている (スレッド セーフな) SettingsBase クラスを提供します。 ( SettingsBase から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
![]() | Upgrade | アプリケーション設定を更新して、アプリケーションの最新のインストールを反映します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | OnPropertyChanged | PropertyChanged イベントを発生させます。 |
![]() | OnSettingChanging | SettingChanging イベントを発生させます。 |
![]() | OnSettingsLoaded | SettingsLoaded イベントを発生させます。 |
![]() | OnSettingsSaving | SettingsSaving イベントを発生させます。 |

関連項目
ApplicationSettingsBase クラスSystem.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute
その他の技術情報
Windows フォームのアプリケーション設定ApplicationSettingsBase メンバ
Windows フォーム アプリケーションでアプリケーション設定機能を実装する、具象ラッパー クラスを派生する基本クラスとして機能します。
ApplicationSettingsBase データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | Context | オーバーライドされます。 設定グループに関連付けられている、アプリケーション設定のコンテキストを取得します。 |
![]() | IsSynchronized | オブジェクトへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。 (SettingsBase から継承されます。) |
![]() | Item | オーバーライドされます。 指定したアプリケーション設定プロパティの値を取得または設定します。 |
![]() | Properties | オーバーライドされます。 ラッパーの設定プロパティのコレクションを取得します。 |
![]() | PropertyValues | オーバーライドされます。 |
![]() | Providers | オーバーライドされます。 ラッパーが使用するアプリケーション設定プロバイダのコレクションを取得します。 |
![]() | SettingsKey | アプリケーション設定グループの設定キーを取得または設定します。 |

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetPreviousVersion | 同じアプリケーションの以前のバージョンの、指定した設定プロパティの値を返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | Initialize | SettingsBase オブジェクトによって使用される内部プロパティを初期化します。 (SettingsBase から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Reload | 永続ストレージからアプリケーション設定プロパティ値を更新します。 |
![]() | Reset | 保持されているアプリケーション設定値を対応する既定のプロパティに復元します。 |
![]() | Save | オーバーライドされます。 アプリケーション設定プロパティの現在の値を格納します。 |
![]() | Synchronized | 同期されている (スレッド セーフな) SettingsBase クラスを提供します。 (SettingsBase から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
![]() | Upgrade | アプリケーション設定を更新して、アプリケーションの最新のインストールを反映します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | OnPropertyChanged | PropertyChanged イベントを発生させます。 |
![]() | OnSettingChanging | SettingChanging イベントを発生させます。 |
![]() | OnSettingsLoaded | SettingsLoaded イベントを発生させます。 |
![]() | OnSettingsSaving | SettingsSaving イベントを発生させます。 |

名前 | 説明 | |
---|---|---|
![]() | PropertyChanged | アプリケーション設定プロパティの値が変更された後に発生します。 |
![]() | SettingChanging | アプリケーション設定プロパティの値が変更される前に発生します。 |
![]() | SettingsLoaded | アプリケーション設定をストレージから取得した後に発生します。 |
![]() | SettingsSaving | データ ストアに値が保存される前に発生します。 |

関連項目
ApplicationSettingsBase クラスSystem.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute
その他の技術情報
Windows フォームのアプリケーション設定- ApplicationSettingsBaseのページへのリンク