|
.NET TIPS PropertyGridコントロールの外観をカスタマイズするには?デジタルアドバンテージ 一色 政彦2005/04/29 |
![]() |
|
|
|
「TIPS:PropertyGridコントロールを利用するには?」では、Windowsフォーム用のPropertyGridコントロールの基本的な使い方を紹介した。本稿では、その応用として、PropertyGridコントロール自体の外観をカスタマイズする方法を紹介する。なお本稿は、Visual Studio .NET(以降、VS.NET)のIDEを利用することを前提としている。
PropertyGridコントロールを構成する基本的なパーツ(=領域)には、次の画面のようなものがある。
![]() |
||||||||||||
| PropertyGridコントロールを構成する基本パーツ | ||||||||||||
| PropertyGridコントロールは、このような領域に分けられる。 | ||||||||||||
|
これらの各領域の表示内容をカスタマイズする方法については、後日公開予定のTIPSであらためて紹介したい。本稿では、これらの各パーツの外観をカスタマイズすることに焦点を絞って説明する。
これらの外観をカスタマイズするには、次の表に示すPropertyGridコントロールの各プロパティを設定すればよい。
| カスタマイズする領域 | プロパティ名(型) | カスタマイズ内容 |
| コントロール全体 | BackColorプロパティ (Color構造体) |
領域のすき間(=分割線)やツールバーなどの背景色 |
| Fontプロパティ (Fontクラス) |
コントロール全体のフォント | |
| ツールバー領域 | ToolbarVisibleプロパティ (Boolean構造体) |
ツールバー領域の表示/非表示 |
| LargeButtonsプロパティ (Boolean構造体) |
ツールバー・ボタンのサイズを大きくする/小さくする | |
| グリッド領域 | ViewBackColorプロパティ (Color構造体) |
グリッド領域の背景色 |
| ViewForeColorプロパティ (Color構造体) |
グリッド領域の前景色(テキストなど) | |
| PropertySortプロパティ (PropertySort列挙体) |
並べ替え順の値は次のとおり。 ・CategorizedAlphabetical=カテゴリ別(カテゴリ内はアルファベット順) ・Categorized=カテゴリ別(アルファベット順の並べ替えは行われない) ・Alphabetical=アルファベット順(カテゴリ分けは行われない) ・NoSort=並べ替えなし(カテゴリ分けもなし) |
|
| LineColorプロパティ (Color構造体) |
グリッドの線やカテゴリ名などの枠 | |
| ホット・コマンド領域 | CommandsVisibleIfAvailableプロパティ (Boolean構造体) |
ホット・コマンド領域の表示/非表示(ただしホット・コマンドが設定されていなければ、この領域は常に非表示となる。ホット・コマンドの設定方法については後日紹介する) |
| CommandsBackColorプロパティ (Color構造体) |
ホット・コマンド領域の背景色 | |
| CommandsForeColorプロパティ (Color構造体) |
ホット・コマンド領域の前景色 | |
| 説明領域 | HelpVisibleプロパティ (Boolean構造体) |
説明領域の表示/非表示 |
| HelpBackColorプロパティ (Color構造体) |
説明領域の背景色 | |
| HelpForeColorプロパティ (Color構造体) |
説明領域の前景色 | |
| PropertyGridコントロールの外観をカスタマイズするためのプロパティ群 | ||
| これらのプロパティ群で特に注意が必要なのは、ホット・コマンド領域の表示の有無を指定するためのCommandsVisibleIfAvailableプロパティである。このプロパティの実際のデフォルト値はTrueだが、VS.NETの[プロパティ]ウィンドウではデフォルト値が「False」になってしまっている(これはVS.NETのバグ、厳密には.NET Frameworkクラス・ライブラリのバグである)。このため、VS.NETの[プロパティ]ウィンドウでCommandsVisibleIfAvailableプロパティを「False」に切り替えても、(デフォルト値が指定されたと見なされてプロパティ設定のコードが省略されるので)その設定は正常に働かない(=ホット・コマンド領域が常に表示されてしまう)結果となる。これを回避するには、CommandsVisibleIfAvailableプロパティに限っては、[プロパティ]ウィンドウでの指定ではなく、手動で「False」を指定するコードを記述しなければならい。 | ||
次の画面は、これらのプロパティ群を実際に設定してみた結果である。
以上でPropertyGridコントロール自体の外観をカスタマイズする方法はご理解いただけただろう。さらに、グリッド領域の中の表示内容をカスタマイズする方法については「TIPS:PropertyGridコントロールの表示内容をカスタマイズするには?」や、ホット・コマンド領域や説明領域の中に任意の情報を表示する方法などについては、後日あらためて紹介したい。![]()
| カテゴリ:Windowsフォーム 処理対象:PropertyGridコントロール 使用ライブラリ:PropertyGridクラス(System.Windows.Forms名前空間) 関連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




