tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルDataGridViewのセルフォント色は?
記事No4586
投稿日: 2006/11/27(Mon) 12:15
投稿者ダンボ
VB2005勉強中です。
DataGridViewの各セル内のフォント色が赤になってしまいました。
(固定ヘッダ部分は変わっていない)
デザイン時の黒色に戻したいのですが、プロパティが見つかりません。

壊した経緯は分かっています。
・DataGridViewに密接してコマンドボタンを一つ配置した。
・そのコマンドボタンのForeColorを赤に設定した。
・以降、DataGridViewのセル内表示も赤になった。
・コマンドボタンをDataGridViewから離して配置したが状況変わらず。
・以降、コマンドボタンのForeColorを変更してもDataGridViewには影響無し。
・DataGridViewのプロパティを大分調べたのだが、セル内のフォント色に該当
しそうなものが見つかりませんでした。
・もう一度コマンドボタンとDataGridViewを密接させて...というのも解決方法
ではあるが、DataGridViewの該当するプロパティを知りたいです。

[ツリー表示へ]
タイトルRe: DataGridViewのセルフォント色は?
記事No4587
投稿日: 2006/11/27(Mon) 12:39
投稿者花ちゃん
> ・DataGridViewのプロパティを大分調べたのだが、セル内のフォント色に該当
> しそうなものが見つかりませんでした。

DataGridView.DefaultCellStyle プロパティ では、だめ!?
DataGridView1.DefaultCellStyle.ForeColor

もちろん、デザイン時にプロパティからも設定できます。

[ツリー表示へ]
タイトル[解決]DataGridViewのセルフォント色は?
記事No4588
投稿日: 2006/11/27(Mon) 13:40
投稿者ダンボ
花ちゃんさん、いつもありがとうございます。

> DataGridView1.DefaultCellStyle.ForeColor

まさしく、このプロパティが赤になっていました。そこで黒(WindowsText)に
設定し直したのですが、状況変わらず赤字のまま。リビルドしても同じ。

実行中断時にイミディエートウィンドウで
?DataGridView1.DefaultCellStyle.ForeColor
を見ると、設定可能な値?がズラズラと表示されて現在何であるかわからん
という状況です。

ロジックの中で設定色いじっているかなぁ?そんな覚えは無いのだが。
と思って、ForeColorで全文検索したところ、見つけました。
Me.ForeColor = System.Drawing.Color.Red
このプログラムの主フォームのデザイン(自動コーディング)でした。これを
Me.ForeColor = System.Drawing.SystemColors.WindowText
(デザイン画面で設定により自動コーディング)で直りました。

結論は、
・「コマンドボタンは無関係であり、コマンドボタンのForeColorをいじる
 つもりでフォームのForeColorをいじった」(推定)
・「DataGridViewのセル内フォント色はDefaultCellStyle.ForeColorよりも
 親フォームのForeColorが優先する」(推定)
 (でも、そうだとしたらDefaultCellStyle.ForeColorの意味が無い?)

[ツリー表示へ]