次の方法で共有


方法: Visual Basic でユーザー設定のプロパティ グリッドを作成する

PropertyGrid コントロールにMy.Settings オブジェクトのユーザー設定プロパティを設定することで、ユーザー設定のプロパティ グリッドを作成できます。

この例を機能させるには、アプリケーションのユーザー設定が構成されている必要があります。 詳細については、「 アプリケーション設定の管理 (.NET)」を参照してください。

My.Settings オブジェクトは、各設定をプロパティとして公開します。 プロパティ名は設定名と同じで、プロパティの種類は設定の種類と同じです。 設定の スコープ は、プロパティが読み取り専用かどうかを決定します。 アプリケーション スコープ設定のプロパティは読み取り専用ですが、 ユーザー スコープ設定のプロパティは読み取り/書き込みです。 詳細については、「 My.Settings オブジェクト」を参照してください。

実行時にアプリケーション スコープ設定の値を変更または保存することはできません。 アプリケーション スコープの設定は、( プロジェクト デザイナーを使用して) アプリケーションを作成するとき、またはアプリケーションの構成ファイルを編集する場合にのみ変更できます。 詳細については、「 アプリケーション設定の管理 (.NET)」を参照してください。

この例では、 PropertyGrid コントロールを使用して、 My.Settings オブジェクトのユーザー設定プロパティにアクセスします。 既定では、 PropertyGrid には、 My.Settings オブジェクトのすべてのプロパティが表示されます。 ただし、ユーザー設定プロパティには UserScopedSettingAttribute 属性があります。 次の使用例は、BrowsableAttributesPropertyGridプロパティをUserScopedSettingAttributeに設定して、ユーザー設定プロパティのみを表示します。

ユーザー設定プロパティ グリッドを追加するには

  1. ツールボックスからアプリケーションのデザイン サーフェイスに PropertyGrid コントロールを追加します (ここではForm1と想定されます)。

    プロパティ グリッド コントロールの既定の名前は PropertyGrid1

  2. Form1のデザイン画面をダブルクリックして、フォーム読み込みイベント ハンドラーのコードを開きます。

  3. My.Settings オブジェクトをプロパティ グリッドの選択したオブジェクトとして設定します。

    PropertyGrid1.SelectedObject = My.Settings
    
  4. ユーザー設定のみを表示するようにプロパティ グリッドを構成します。

    ' Attribute for the user-scope settings.
    Dim userAttr As New System.Configuration.UserScopedSettingAttribute
    Dim attrs As New System.ComponentModel.AttributeCollection(userAttr)
    PropertyGrid1.BrowsableAttributes = attrs
    

    アプリケーション スコープの設定のみを表示するには、ApplicationScopedSettingAttributeの代わりに UserScopedSettingAttribute 属性を使用します。

堅牢なプログラミング

アプリケーションは、アプリケーションのシャットダウン時にユーザー設定を保存します。 設定をすぐに保存するには、 My.Settings.Save メソッドを呼び出します。 詳細については、「 方法: Visual Basic でユーザー設定を保持する」を参照してください。

こちらも参照ください