ApplicationSettingsBaseとは? わかりやすく解説

ApplicationSettingsBase イベント


パブリック イベントパブリック イベント

参照参照

関連項目

ApplicationSettingsBase クラス
System.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute

その他の技術情報

Windows フォームのアプリケーション設定

ApplicationSettingsBase クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

Windows フォーム アプリケーションでアプリケーション設定機能を実装する、具象ラッパー クラスを派生する基本クラスとして機能します。

名前空間: System.Configuration
アセンブリ: System (system.dll 内)
構文構文

Public MustInherit Class
 ApplicationSettingsBase
    Inherits SettingsBase
    Implements INotifyPropertyChanged
Dim instance As ApplicationSettingsBase
public abstract class ApplicationSettingsBase
 : SettingsBase, INotifyPropertyChanged
public ref class ApplicationSettingsBase abstract
 : public SettingsBase, INotifyPropertyChanged
public abstract class ApplicationSettingsBase
 extends SettingsBase implements INotifyPropertyChanged
public abstract class ApplicationSettingsBase
 extends SettingsBase implements INotifyPropertyChanged
解説解説

ApplicationSettingsBase は、Web ベースのアプリケーションで使用する SettingsBase クラスに次の機能を追加します。

アプリケーション設定アーキテクチャでは、設定プロパティのグループにアクセスするには、ApplicationSettingsBase から具象ラッパー クラスを派生する必要があります。ラッパー クラスでは、次の方法で ApplicationSettingsBase をカスタマイズします。

ApplicationSettingsBase クラスは、リフレクションを使用して実行時にこれらの属性を検出します。この情報の大半は、ストレージや永続形式などに対する役割を担う設定プロバイダ層に渡されます。

アプリケーションに複数の設定ラッパー クラスがある場合、各クラスは設定グループを定義します。各グループの特性は次のとおりです。

既定では、クライアント ベースのすべてのアプリケーションは、LocalFileSettingsProvider を使用してストレージを提供します。これに代わる設定プロバイダが必要な場合は、ラッパー クラスまたはプロパティを対応する SettingsProviderAttribute で修飾する必要があります。

アプリケーション設定の使用方法の詳細については、「Windows フォームのアプリケーション設定」を参照してください。

使用例使用例

アプリケーション設定を使用して、メイン フォームの属性 (位置、サイズ、背景色、およびタイトル バー テキスト) を保持するコード例を次に示します。これらのすべての属性は、それぞれ 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.Object
   System.Configuration.SettingsBase
    System.Configuration.ApplicationSettingsBase
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ApplicationSettingsBase メンバ
System.Configuration 名前空間
LocalFileSettingsProvider
ApplicationScopedSettingAttribute クラス
UserScopedSettingAttribute
SettingsGroupNameAttribute
LocalFileSettingsProvider
SettingsProviderAttribute
その他の技術情報
Windows フォームのアプリケーション設定

ApplicationSettingsBase コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

ApplicationSettingsBase クラスのインスタンスを既定の状態に初期化します。

名前空間: System.Configuration
アセンブリ: System (system.dll 内)
構文構文

Dim instance As New ApplicationSettingsBase
protected ApplicationSettingsBase ()
protected:
ApplicationSettingsBase ()
protected ApplicationSettingsBase ()
protected function ApplicationSettingsBase
 ()
解説解説

既定のコンストラクタは、ApplicationSettingsBase から派生した現在の設定ラッパー クラスに関連付けられたコンポーネントが存在しないことを前提として動作するようにデザインされています。

ラッパー クラスのインスタンスを作成すると、継承したコードは次のアクションを自動的に実行します。

  1. クラス全体をリフレクションします。

  2. [UserScopedSettingAttribute] または [ApplicationScopedSettingAttribute] でマークされたラッパーの各プロパティについて、対応する SettingsProperty が作成されます。

  3. 各 SettingsProperty には、既定値や設定プロバイダなど、ラッパーのプロパティにオプションで存在する他の属性に基づいて設定されたプロパティがいくつかあります。

  4. 他のすべての属性は、属性バッグである SettingsProperty クラスの Attributes プロパティに配置されます。

  5. すべての SettingsProperty オブジェクトは、ApplicationSettingsBase クラスの Properties プロパティによって表される SettingsPropertyCollection に追加されます。次に、このコレクションが Initialize メソッドに渡されます。

上記の手順 3. で示したように、ApplicationSettingsBase は、複数のプロパティ属性 (具体的には、SettingsProviderAttribute、DefaultSettingValueAttribute、および SettingsSerializeAsAttribute) とネイティブで連動します。他のすべての設定属性は、適切な基本プロバイダに渡されます。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
SettingsProperty
SettingsPropertyCollection
Initialize

ApplicationSettingsBase コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定された設定キーを使用して、ApplicationSettingsBase クラスのインスタンスを初期化します。

名前空間: System.Configuration
アセンブリ: System (system.dll 内)
構文構文

Protected Sub New ( _
    settingsKey As String _
)
Dim settingsKey As String

Dim instance As New ApplicationSettingsBase(settingsKey)
protected ApplicationSettingsBase (
    string settingsKey
)
protected:
ApplicationSettingsBase (
    String^ settingsKey
)
protected ApplicationSettingsBase (
    String settingsKey
)
protected function ApplicationSettingsBase
 (
    settingsKey : String
)

パラメータ

settingsKey

ラッパー クラスの個々のインスタンスを一意に識別する String。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
SettingsKey

ApplicationSettingsBase コンストラクタ (IComponent)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定された所有者コンポーネントを使用して、ApplicationSettingsBase クラスのインスタンスを初期化します。

名前空間: System.Configuration
アセンブリ: System (system.dll 内)
構文構文

Protected Sub New ( _
    owner As IComponent _
)
Dim owner As IComponent

Dim instance As New ApplicationSettingsBase(owner)
protected ApplicationSettingsBase (
    IComponent owner
)
protected:
ApplicationSettingsBase (
    IComponent^ owner
)
protected ApplicationSettingsBase (
    IComponent owner
)
protected function ApplicationSettingsBase
 (
    owner : IComponent
)

パラメータ

owner

アプリケーション設定オブジェクトの所有者として機能するコンポーネント。

例外例外
例外の種類条件

ArgumentNullException

owner が null 参照 (Visual Basic では Nothing) です。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
SettingsProviderAttribute
Site

ApplicationSettingsBase コンストラクタ

ApplicationSettingsBase クラスのインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

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

関連項目

ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
SettingsProperty
SettingsPropertyCollection
Initialize

ApplicationSettingsBase コンストラクタ (IComponent, String)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

指定された所有者コンポーネントと設定キーを使用して、ApplicationSettingsBase クラスのインスタンスを初期化します。

名前空間: System.Configuration
アセンブリ: System (system.dll 内)
構文構文

Protected Sub New ( _
    owner As IComponent, _
    settingsKey As String _
)
Dim owner As IComponent
Dim settingsKey As String

Dim instance As New ApplicationSettingsBase(owner,
 settingsKey)
protected ApplicationSettingsBase (
    IComponent owner,
    string settingsKey
)
protected:
ApplicationSettingsBase (
    IComponent^ owner, 
    String^ settingsKey
)
protected ApplicationSettingsBase (
    IComponent owner, 
    String settingsKey
)
protected function ApplicationSettingsBase
 (
    owner : IComponent, 
    settingsKey : String
)

パラメータ

owner

アプリケーション設定オブジェクトの所有者として機能するコンポーネント。

settingsKey

ラッパー クラスの個々のインスタンスを一意に識別する String。

例外例外
例外の種類条件

ArgumentNullException

owner が null 参照 (Visual Basic では Nothing) です。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ApplicationSettingsBase クラス
ApplicationSettingsBase メンバ
System.Configuration 名前空間
ISettingsProviderService
SettingsProviderAttribute
SettingsKey

ApplicationSettingsBase プロパティ


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 データ型で公開されるメンバを以下の表に示します。


プロテクト コンストラクタプロテクト コンストラクタ
  名前 説明
プロテクト メソッド ApplicationSettingsBase オーバーロードされます。 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」の関連用語

ApplicationSettingsBaseのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ApplicationSettingsBaseのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS