作成日: 2022/07/07 最終更新日: 2022/12/21
文書種別
不具合
状況
修正済み
詳細
Split.Style.BackColorにSystemColors.Controlを設定すると、セルの背景色がTrueDBGridのBackColorで描画されます。
この現象は列のValueItems.TranslateプロパティをTrueに設定したときに発生します。
発生例:
この現象は列のValueItems.TranslateプロパティをTrueに設定したときに発生します。
発生例:

回避方法
この問題は2022J v3(4.5.20223.584)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
Split.Style.BackColorにColor.FromArgb(SystemColors.Control.ToArgb())を設定することで回避が可能となります。
◎サンプルコード(VB)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable()
dt.Columns.AddRange({New DataColumn("A"), New DataColumn("B")})
For i = 0 To 4
dt.Rows. Add($"A{i Mod 2}", $"B{i}")
Next
dt.AcceptChanges()
' TrueDBGridの設定
With C1TrueDBGrid1
.BackColor = Color.Aqua
.DataSource = dt
'.Splits(0).Style.BackColor = SystemColors.Control ' 現象発生
.Splits(0).Style.BackColor = Color.FromArgb(SystemColors.Control.ToArgb()) ' 回避方法
With .Columns(0).ValueItems
.Translate = True ' 発生条件
End With
End With
End Sub
End Class