.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」 |
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|