DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGridの特定の行の高さ変更

環境/言語:[Windows2000、VB.NET]
分類:[.NET]

いつもお世話になっています。

Windowsアプリケーションを作成しております。

今回DataGridの特定の行の高さのみを変更したいと思いいろいろと調べてみたのですが、
やり方が分らなく困っています。

どうかご伝授のほどよろしくお願い致します。
■No5107に返信(Mickさんの記事)

 Mickさん、こんばんは。深山です。

 DataGrid クラスには DataGridRows プロパティがあり、行の高さはこの Height プロパティで
指定できるようです。(DataGridRows は DataGridRow クラスの配列)
 しかし DataGridRows プロパティはプライベート メンバです。これにアクセスするなら
リフレクションを使うしかないかと思います。探してみたところ、次のようなサンプルが
見つかりました。

Setting the DataGrid row height independently through code.
http://www.vbcity.com/forums/faq.asp?fid=30&cat=Windows+Forms&#TID37954


 他には SendMessage API 等を用いて、ドラッグによる行の高さ変更操作をシミュレートすること
でも目的を達せられるかも知れません。
# 座標計算が面倒そうですが‥‥(汗)


 どちらにせよ、変更した行の高さはソートをすることで元の値に戻ってしまいます。
 DataGrid で無理に個別に行の高さを制御するよりは、別のコントロールの使用を検討するか、
さもなくばこの仕様を断念したほうが良いかも知れません。


# 以下余談です。
> 今回DataGridの特定の行の高さのみを変更したいと思いいろいろと調べてみたのですが、
 調査はどのようにされているのでしょうか?
 ヘルプや Web を探して目的のものが見つからないときには、ウォッチ式でプロパティを
眺めるのも一つの手ですよ。特に今回のように、 DataGrid が自身で情報を持ってる可能性が
高いときには有効‥‥かどうかは微妙ですけど切っ掛けになることもありますから。
# 私はちょくちょくこの方法で欲しい情報を見つけてたりします(^_^)
深山さん、こんばんは。岩田です。

返事が遅くなり申し訳ありません。


深山さんに教えていただいたサンプルのアドレスにアクセスして
作成することができました。
これからは、ウォッチ式も参考に調査してみます。
本当にありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板