DataGridViewButtonColumnでボタン自体の背景色を変更するには?


モモ  2007-04-27 19:10:36  No: 136271

VB.NET2005です。
DataGridViewButtonColumnでセルの背景色は
Me.dataGridView1.DefaultCellStyle.BackColor = Color.Beige
で変更できるのですが、
ボタン自体の背景色を変更する方法を教えて下さい。
何卒よろしくお願い申し上げます。


モモ  2007-05-09 01:39:09  No: 136272

セル自体の背景色は簡単に変わるのですが、
DataGridViewButtonColumnのボタン背景色を変更する方法が
どうしても分かりません。
何卒よろしくお願い致します。


魔界の仮面弁士  2007-05-09 01:55:30  No: 136273

基本機能としては用意されていないと思いますので、
おそらくは、自前で描画することになるかと。

ボタンセルのクラスを継承して、描画処理の部分を再実装するか、
DataGridView の CellPainting イベントで描画するか…。

http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200704/07040078.txt


モモ  2007-05-09 07:05:02  No: 136274

さらに質問になりますが、
> ボタンセルのクラスを継承して、描画処理の部分を再実装するか、
> DataGridView の CellPainting イベントで描画するか…。
で仮に対応したとすると、すべての行のDataGridViewButtonColumnが
同じ背景色になってしまいますか?
私が実現したいことは、フォーカスのあるセル(
DataGridViewButtonColumn自体)の背景色のみ変更することです。
大事なことを書き忘れて本当に申し訳ありません。
可能ならどちらで出来そうですか?
お返事をお待ちしております。
何卒よろしくお願い致します。


魔界の仮面弁士  2007-05-09 08:41:04  No: 136275

> DataGridViewButtonColumn自体)の背景色のみ変更することです。
Paint メソッドで、
  If CBool(elementState And DataGridViewElementStates.Selected) Then
などとして判定するとか。

> 可能ならどちらで出来そうですか?
やろうと思えば、どちらでも出来るかと思いますよ。
実際に試してみて、使いやすい方をどうぞ。


モモ  2007-06-07 23:00:16  No: 136276

お返事ありがとうございます。
今、「方法 : Windows フォーム DataGridView コントロールのボタン列にあるボタンを無効にする」
http://msdn2.microsoft.com/ja-jp/library/ms171619(VS.80).aspx
のPaintメソッド辺りを参考に頑張っておりますが、
”背景色を変更する”事自体で悩んでいます。
ButtonRenderer.DrawButtonメソッドのGraphicsでコントロール
するということですか?
もう少しヒントを頂けますと助かります。
何卒よろしくお願い致します。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加