分配给DataGridView后如何更改RichTextBox的背景颜色

时间:2019-03-15 04:07:44

标签: vb.net datagridview richtextbox

我想更改DataGridView单元格中RichTextBox的背景颜色。

我尝试使用

Me.dgvPartTracking.Item(columnIndex, rowIndex).Style.BackColor = Color.LightGreen

Me.dgvPartTracking.Item(columnIndex,rowIndex).Style.ForeColor = Color.Black

但结果是仅更改了单元格的背景,并且RichTextBox的背景颜色仍保留为白色

输出如下: Sample Result

我用来将RichTextBox分配到DataGridView中的方法。

*我使用循环如下添加列和行

        Dim Col As New DataGridViewRichTextBoxColumn
        Col.Name = "schedule" & columnCount
        Col.HeaderText = "" & columnCount
        Col.DefaultCellStyle.WrapMode = Windows.Forms.DataGridViewTriState.True
        Col.DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopLeft
        Col.Width = 195
        Col.ReadOnly = True
        Col.SortMode = Windows.Forms.DataGridViewColumnSortMode.NotSortable
        Col.Resizable = Windows.Forms.DataGridViewTriState.True
        Col.AutoSizeMode = Windows.Forms.DataGridViewAutoSizeColumnMode.NotSet
        Col.Visible = True
        Me.dgvPartTracking.Columns.Add(Col)
        Me.dgvPartTracking.Rows.Add(1)

我尚未在此代码中设置背景色,因为之后我想为DataGridView中的每个单元格更改不同的背景色

1 个答案:

答案 0 :(得分:0)

我刚刚使用以下方法解决了这个问题:

Dim cell As New DataGridViewRichTextBoxCell
cell.setBackColor(Color.LightGreen)
Me.dgvPartTracking.Item(columnIndex, rowIndex) = cell
Me.dgvPartTracking.Item(columnIndex, rowIndex).Style.BackColor = Color.LightGreen
Me.dgvPartTracking.Item(columnIndex, rowIndex).Style.ForeColor = Color.Black

感谢您对我的回复@jmcilhinney,我从您的评论中得到了想法