方法 : Visual Basic でユーザー設定のためのプロパティ グリッドを作成する
PropertyGrid コントロールに My.Settings
オブジェクトのユーザー設定プロパティを設定すると、ユーザー設定のためのプロパティ グリッドを作成できます。
注意
この例を使用するには、アプリケーションのユーザー設定を構成することが必要です。 詳細については、「アプリケーションの設定の管理 (.NET)」を参照してください。
My.Settings
オブジェクトでは、各設定はプロパティとして公開されます。 プロパティ名はその設定の名前と同じで、プロパティの型は設定の型と同じです。 プロパティが読み取り専用かどうかは、設定のスコープでわかります。つまり、アプリケーションスコープの設定のプロパティは読み取り専用であるのに対し、ユーザースコープの設定のプロパティは読み取り/書き込みです。 詳細については、「My.Settings オブジェクト」を参照してください。
注意
アプリケーション スコープの設定値を実行時に変更または保存することはできません。 アプリケーション スコープの設定は、アプリケーションを作成するときにプロジェクト デザイナーを使用するか、アプリケーションの構成ファイルを編集するかのいずれかの方法でしか変更できません。 詳細については、「アプリケーションの設定の管理 (.NET)」を参照してください。
この例では、PropertyGrid コントロールを使用して、My.Settings
オブジェクトのユーザー設定プロパティにアクセスします。 既定では、PropertyGrid には My.Settings
オブジェクトのすべてのプロパティが表示されます。 一方、ユーザー設定プロパティは UserScopedSettingAttribute 属性を持ちます。 この例では、PropertyGrid の BrowsableAttributes プロパティを UserScopedSettingAttribute に設定して、ユーザー設定プロパティのみを表示します。
ユーザー設定のプロパティ グリッドを追加するには
アプリケーションのデザイン サーフェイス (ここでは
Form1
とする) に、[ツールボックス] から [PropertyGrid] コントロールを追加します。プロパティ グリッド コントロールの既定の名前は
PropertyGrid1
です。Form1
のデザイン サーフェイスをダブルクリックして、フォーム読み込みのイベント ハンドラーのコードを開きます。My.Settings
オブジェクトをプロパティ グリッド用に選択されたオブジェクトとして設定します。PropertyGrid1.SelectedObject = My.Settings
ユーザー設定のみを表示するように、プロパティ グリッドを構成します。
' Attribute for the user-scope settings. Dim userAttr As New System.Configuration.UserScopedSettingAttribute Dim attrs As New System.ComponentModel.AttributeCollection(userAttr) PropertyGrid1.BrowsableAttributes = attrs
注意
アプリケーション スコープの設定のみを表示するには、UserScopedSettingAttribute ではなく ApplicationScopedSettingAttribute 属性を使用します。
信頼性の高いプログラミング
アプリケーションがユーザー設定を保存するのは、アプリケーションの終了時です。 設定をすぐに保存するには、My.Settings.Save
メソッドを呼び出します。 詳細については、「方法: Visual Basic でユーザー設定を永続化する」を参照してください。
関連項目
.NET