掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DataGridViewの文字色に関して (ID:147736)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
列単位のセルスタイルは、行スタイルよりも先に処理されるので、 求めている結果にはならないと思います。 > 記述する順番かと思い、下記のような記述をしてみましたがNGでした。。 セルスタイルの処理順は常に固定的です。下記の図をご覧ください。 http://msdn.microsoft.com/ja-jp/library/1yef90x0%28VS.80%29.aspx > 初歩的な質問で申し訳ありませんが、教えて下さい。 # 質問内容が初歩的かどうかを、質問者側自身が判断するのは # 個人的には違和感を覚えるのですが、それはひとまず置いといて…。 今回の場合は、イベントを用いた方が良いでしょう。 Public Class Form1 Private WithEvents dgv As New DataGridView() Private Sub Form1_Load() Handles Me.Load dgv.AllowUserToAddRows = False dgv.RowCount = 30 dgv.ColumnCount = 5 dgv.Dock = DockStyle.Fill dgv.DefaultCellStyle.BackColor = Color.AliceBlue dgv.RowsDefaultCellStyle.BackColor = Color.YellowGreen dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightBlue dgv.Columns(2).DefaultCellStyle.BackColor = Color.LightGray Controls.Add(dgv) End Sub Private Sub dgv_CellPainting(ByVal sender As Object, _ ByVal e As DataGridViewCellPaintingEventArgs) Handles dgv.CellPainting '現在の列に、列スタイルが設定されているかどうかを確認する If e.RowIndex >= 0 AndAlso e.ColumnIndex >= 0 AndAlso _ dgv.Columns(e.ColumnIndex).HasDefaultCellStyle Then '列に背景色が設定されていれば、それを適用する Dim c As Color = dgv.Columns(e.ColumnIndex).InheritedStyle.BackColor If c <> Color.Empty Then e.CellStyle.BackColor = c End If End If End Sub End Class
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.