关于vb.net:如何在分配到DataGridView后更改RichTextBox的背景颜色

How To Change Background Color of RichTextBox After Assigning into DataGridView

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

我试过用

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

me.dgvparttracking.item(columnindex,rowindex).style.forecolor=color.black

但结果只是改变了单元格的背景,richtextbox beackground颜色仍然保持为白色。

输出如下:样本结果

我用于将RichTextBox分配给DataGridView的方法。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
        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
2
3
4
5
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,我从你的评论中得到了这个想法。