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

DataGridのカスタマイズについて

環境/言語:[環境(Windows XP)、使用言語(VB.NET)、.NET Framework1.0]
分類:[.NET]

お世話になります。
DataGridのカスタマイズについて質問です。

やりたいことは次の通りです。
(1) 特定列の値を参照して、0:黒、1:青、2:赤色に背景色を行単位で変更する。
(2) Mouseである行をClickしたとき、行単位で選択状態にしたい。

(1)については下記URLを参考にして、何とかできました。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=9321

(2)についても本日、管理人さんが配信しているメール
 「.NETプログラミング研究 第34号」で、できました。ありがとうございました。

ここで、質問なんですが、両方を組み合わせると、Click時にPaintメソッドが実行されて
行単位で選択状態になりません。

選択したときはPaintメソッドを回避するか、Paintメソッドをオーバライドせずに
(1)を行う方法というのはあるのでしょうか?
DataGridTextBoxColumnのPaintの中で選択させれいれば
何も行わないようにすればいいと思います。

if(DataGridTableStyle.DataGrid.IsSelected(rowNum) == false)
{
//色変更処理
}
base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);

こんな感じでしょうか。
おぉ!
ありがとうございます。
思ったとおりの動作をするようになりました。

返事が付かなければ、下記URLを参考に、アプリ側から処理しようかと悩んでいました。
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=2802
解決済み!

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