| ■No94174 (魔界の仮面弁士 さん) に返信
> 掲示板投稿時に、『半角カナは使用しないでください。文字化けの原因になります。』という
> 注意書きが表示されていたかと思います。次回以降、ご留意ください。
すみません、修正するのを忘れていました。
以降、気をつけます。
> "#FFFFF" ということは 5 桁ですか? ちょっと中途半端ですね。
すみません、例としてだしたので適当に書きました。
> Color と 16進数コードの変換には、ColorConverter クラスまたは ColorTranslator クラスを使えます。
>
>
> Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
> If e.RowIndex < 0 Then
> Return
> End If
>
> 'データバインド先の行を取り出します。
> Dim gridRow = DirectCast(sender, DataGridView).Rows(e.RowIndex)
> Dim rowView = TryCast(gridRow.DataBoundItem, DataRowView)
> If rowView Is Nothing Then
> Return
> End If
>
> 'mst_color テーブルから、現在行の BACKCOLOR 列の値を取り出します。
> Dim oColor As Object = rowView("BACKCOLOR")
> If oColor Is Nothing OrElse oColor Is DBNull.Value Then
> Return
> End If
>
>
> 'HTML カラー表記とみなして、Color 構造体に変換しています。
> Dim newBackColor = ColorTranslator.FromHtml(CStr(oColor))
>
> '透明度指定のある色だと扱いにくいので、
> 'ここではあえて不透明に変更しています。
> newBackColor = Color.FromArgb(255, newBackColor)
>
> '文字色も背景色も同じ色にしてみました。
> '必要に応じて、文字色や選択色を調整してください。
> With e.CellStyle
> .SelectionBackColor = newBackColor
> .BackColor = newBackColor
> .SelectionForeColor = newBackColor
> .ForeColor = newBackColor
> End With
> End Sub
色の変換ができました。ありがとうございます。
これをさらに色の表示をするセルを指定するとどのようになりますでしょうか?
|