- PR -

TextBoxCell、ComboBoxCellでのグリッド色変え

1
投稿者投稿内容
ポンタ
会議室デビュー日: 2007/06/13
投稿数: 10
投稿日時: 2008-02-06 13:42
.Net C#のDataGridViewのTextBoxColumn、ComboBoxColumnによりテーブル表示をしています。
セルを選択したとき、選択されたセルの枠(グリッド線)の太さ、色変えを行ないたいのですが、方法がわかりません。
(DataGridViewのAdvancedCellBorderStyleでは、DataGridViewの全てのグリッド線の色が変わってしまいます。)
方法が分かる方がいましたら、教えてください。
よろしく、お願いします。
くまっち
大ベテラン
会議室デビュー日: 2008/01/18
投稿数: 169
お住まい・勤務地: 茨城県のどこか。
投稿日時: 2008-02-06 17:11
.NetFrameworkにもバージョン幾つかあります。
そしてバージョンが違う為に解決へのアプローチが違ってくる場合もあります。
バージョン明記はした方が良いかと思われます。

今回は「AdvancedCellBorderStyle」というキーワードがありましたので
.NET 2.0以降であると推測いたしました。
===========================================================

では、本題に。

DataGridViewCellクラス(及び派生クラス)には
セルの枠(グリッド線)【以後「罫線」】に対する細かい設定は出来ません。

質問内容の「罫線の太さ」「罫線の色」の変更を実現するには
使用しているそれぞれのセル(DataGridViewTextBoxCell,DataGridViewCheckBoxCell)を
継承したカスタム セル クラスを作成して、PaintBorderメソッドを
オーバーライドするのが最適かと思われます。

同様の質問は当会議室の過去ログ中にもありました。(VB.NET,解決済)
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41822&forum=7
ポンタ
会議室デビュー日: 2007/06/13
投稿数: 10
投稿日時: 2008-02-07 07:52
有難うございます。
やはりPaintをoverrideしたものを作らないといけないんですかね。
以前、CheckBoxCellのchekckBox自体を表示/不表示にしようとしたときにも、同様にPaintをoverrideしてCustum化したもをつくりました。
早速、試してみます。
1

スキルアップ/キャリアアップ(JOB@IT)