.NET Framework には PropertyGrid
という便利なコントロールがあります。
Visual Studio のプロパティウィンドウにも使われているアレです。
基本的な使い方は上記のサイトを読めばわかると思います。
PropertyGrid
に渡すオブジェクトのプロパティに CategoryAttribute
属性を適用すると、指定したカテゴリ名でグループ分けして表示してくれます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| - | - | | | | | | | | ! ! |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| - | - | - | ! | | - | ! ! ! |
|
便利ですね。
ここでふと「カテゴリY、カテゴリXの順に表示したい」と考えたとします。
しかしカテゴリの表示順序を制御するための方法は用意されておらず、常に文字コード順でソートされてしまいます。
カテゴリ名を「1. カテゴリY」「2. カテゴリX」のようにする手もありますが、できれば余計な文字を入れずに任意順序で表示したいものです。
何か方法は無いかとググってみたところ、2chの過去ログにこんなものがありました。
カテゴリ名の先頭にタブ文字(\t)を入れまくる
つまり次のように、上に表示したいカテゴリほど先頭にタブ文字をたくさん入れるというものです。
先頭のタブ文字は表示されないので、任意順序で並んでいるように見えるというわけです。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| - | - | | | | | | | | ! ! |
|
かなり強引な解決手法ですが、確かに任意順序で表示できました。
目から鱗ですね。
どの環境でも先頭のタブ文字が表示されないという保証は無いですが、Windowsでだけ動けばいいならこういう手もあるよということで。