|
.NET TIPS PropertyGridコントロールの表示内容をカスタマイズするには?デジタルアドバンテージ 一色 政彦2005/06/24 |
![]() |
|
|
|
「TIPS:PropertyGridコントロールを利用するには?」ではWindowsフォーム用のPropertyGridコントロールの基本的な使い方を紹介し、「TIPS:PropertyGridコントロールの外観をカスタマイズするには?」ではPropertyGridコントロールの外観のカスタマイズ方法(背景色やフォント・サイズの変更など)について説明した。
本稿では、PropertyGridコントロールのグリッド領域や説明領域の内容をカスタマイズする方法を紹介する。なお本稿は、Visual Studio .NET(以降、VS.NET)のIDEを利用することを前提としている。
PropertyGridコントロールの表示内容をカスタマイズする属性
PropertyGridコントロールでの表示内容をカスタマイズするには、PropertyGridコントロールに指定するオブジェクトのクラスで実装しているプロパティに対して、次の表に示す属性を追加すればよい。
| 属性(指定するデータ型) | カスタマイズ内容 |
| DefaultProperty属性("文字列") | クラスの「既定のプロパティ」を指定する。この属性は、以降で説明する属性とは異なり、プロパティ自体ではなく、クラスに指定する必要がある。この属性で指定されたプロパティは、PropertyGridコントロールが表示されるときに最初にフォーカスが設定される |
| DefaultValue属性("文字列") | プロパティの「既定の値」を指定する(文字列値のほかにもObject型の値なども指定できる)。この属性に指定された文字列値は、PropertyGridコントロールでプロパティの既定の値として用いられる。ちなみにPropertyGridコントロールで既定値以外の値が指定されると、その値は太字で表示される |
| ReadOnly属性(Boolean値) | プロパティの「読み取り専用」を指定する。この属性をTrueに指定されたプロパティは、PropertyGridコントロールで編集することができなくなる。ただし、この属性により読み取り専用に指定されても、コードからsetアクセサを用いてプロパティを編集することは可能である |
| Browsable属性(Boolean値) | プロパティの「参照可能」を指定する。この属性をFalseに指定されたプロパティは、PropertyGridコントロールに表示されなくなる |
| Description属性("文字列") | プロパティの「概要説明」を指定する。この属性に指定された文字列値は、PropertyGridコントロールでプロパティが選択されたときに、コントロールの説明領域に表示される |
| Category属性("文字列") | プロパティの「カテゴリ」を指定する。この属性に指定された文字列値は、PropertyGridコントロールでプロパティのカテゴリ名として用いられる。既存のカテゴリ名を指定することで、同じカテゴリ内にプロパティをまとめたり、分類したりすることができる |
| PropertyGridコントロールの表示内容をカスタマイズするための主な属性群 | |
| 「○○属性」と書かれているものは、正式には「○○Attributeクラス」のことである。属性クラスの語尾にある「Attribute」はコーディング時には省略することができるが、実際にはコンパイラがコンパイル時に「Attribute」を自動的に付加している。 | |
次のコードは、上の表にある属性を実際にプロパティに対して利用している(このコードは、「TIPS:PropertyGridコントロールを利用するには?」で掲載したコードに、さらにプロパティや属性などを追加したものである)。
|
|
| 属性指定によりPropertyGridコントロールの表示内容をカスタマイズするサンプル・コード(C#) |
|
|
| 属性指定によりPropertyGridコントロールの表示内容をカスタマイズするサンプル・コード(VB.NET) |
なおプロパティへの属性の指定は、上のコードのように1つだけでなく、次のように複数連ねて記述することもできる。
|
||
| 複数連ねて記述した属性の指定(上:C#、下:VB.NET) |
上記のサンプル・コードを実際に実行したのが、次の画面である。
![]() |
|||||||||||||||
| PropertyGridコントロールの表示内容をカスタマイズした結果 | |||||||||||||||
| 前述の属性群を利用することで、このようにPropertyGridコントロールの表示内容をカスタマイズできる。なお、BrowsablePropertyプロパティは、Browsable属性を指定したために、この画面には表示されていない。 | |||||||||||||||
|
以上がPropertyGridコントロールのプロパティの表示内容をカスタマイズする方法だ。しかしこの属性指定だけでは、ホット・コマンド領域やツールバー領域の表示をカスタマイズすることはできない。それらをカスタマイズする方法については、後日あらためて紹介したい。![]()
| カテゴリ:Windowsフォーム 処理対象:PropertyGridコントロール 使用ライブラリ:PropertyGridクラス(System.Windows.Forms名前空間) 使用ライブラリ:DefaultProperty属性(System.ComponentModel名前空間) 使用ライブラリ:DefaultValue属性(System.ComponentModel名前空間) 使用ライブラリ:ReadOnly属性(System.ComponentModel名前空間) 使用ライブラリ:Browsable属性(System.ComponentModel名前空間) 使用ライブラリ:Description属性(System.ComponentModel名前空間) Category属性(System.ComponentModel名前空間) 関連TIPS:PropertyGridコントロールを利用するには? 関連TIPS:PropertyGridコントロールの外観をカスタマイズするには? |
| 「.NET TIPS」 |
TechTargetジャパン
Insider.NET フォーラム 新着記事
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
@IT 新着記事
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
お勧め求人情報
転職/派遣情報を探す
**先週の人気講座ランキング**
〜 Android編 〜
ホワイトペーパー(TechTargetジャパン)
ソリューションFLASH



