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 的背景颜色仍然保持为白色
输出如下: 示例结果
我用来将 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 中的每个单元格更改不同的背景颜色
解决方案
我刚刚通过以下方式解决了这个问题:
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,我从你的评论中得到了这个想法
推荐阅读
- c++ - is_sorted() 函数在我的代码中无法正常工作
- javascript - 循环通过 URL 链接的 API 结果页面
- azure - Azure 函数返回 500 内部服务器错误
- drools - 从 StatelessKnowledgeSession 迁移到 StatelessKieSession
- c - Msys shell 具有与主机 Windows 系统不同的 Path 变量
- asynchronous - 为什么 await 不会从 Flutter 中的 Future 中提取值?
- ios - VoiceOver 是否总是忽略宽度和高度为零的 iOS 视图?
- reactjs - 在保留原始类型的同时约束类型?
- javascript - 将php数组带入javascript的意外结果
- angular - 角度单元测试中 selectItem($event) 的 dispatchEvent 语法