我在datagridview中使用ImageColumn来查看保存在DB中的PNG图片。 每当我更改表格中的标签并返回带有DGV的标签时,PNG imgae透明背景会保留在同一位置显示的上一个控件的图形。此外,当我尝试更改图像并保存新的PNG图像时,DGV会更新,并在透明部分显示上一张图片的部分内容。 我将imageColumn单元格默认样式选项中的背景颜色和SelectionBackground颜色更改为WHITE但未更改任何内容。任何人都可以帮我解决这个问题吗? 请看图片清关..
答案 0 :(得分:0)
最后通过代码解决了!
使用 CellPaining 在单元格中绘制白色矩形。
Private Sub ItemsList_CellPainting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles ItemsList.CellPainting
If ItemsList.Columns(e.ColumnIndex).Name = "iconCol" And e.RowIndex >= 0 Then
e.Paint(e.CellBounds, DataGridViewPaintParts.All)
e.Graphics.FillRectangle(Brushes.White, e.CellBounds.Left, e.CellBounds.Top, e.CellBounds.Width, e.CellBounds.Height)
End If
不要使用DrawRectangle使用FillRecangle绘制矩形,以便背景充满颜色。