DataGridViewをラベルのように見せる

C#のDataGridViewといえば、データソースからMatrixを作成できるクラス。

 

これを、ラベル風マトリックスとして表現した。

 

座標を行ごと、列ごとにずらしながらラベルオブジェクトを動的に生成しているわけではないくて、DataGridViewの見栄えプロパティをいじるだけで、ラベルと全く同じ見栄えを表現することに成功した。

もちろん、選択やセルのりサイズもできない。
挙動までラベルで表現した場合と同じにすることができた。

 

めでたしめでたし。

と、いうことで、その内訳を紹介する。

 
 

デザイナからプロパティを変更する場合は、次のように設定する。

 

BorderStyleプロパティ None
CellBorderStyleプロパティ None
DefaultCellStyle BackColorプロパティ Control
BackgroundColorプロパティ Control
ColumnHeadersBorderStyleプロパティ false
RowHeadersBorderStyleプロパティ false
Enabledプロパティ false

 

そして、Loadイベント部分等で、DataGridViewにデータソースを追加した後に、0行目0列目のセルが自動で選択されてしまうのを、選択解除する。

 
 

デザイナを使わずに、全てソースコードで表すと、次のような感じ。

コメントを残す

トラックバック: http://pgnote.net/wp-trackback.php?p=569