【发布时间】:2019-10-02 10:51:26
【问题描述】:
当另一个单元格的值为 OK 或 NO 时,我正在尝试更改 DataGridViewImageColumn 中的一个单元格的图像。 我已经使用此代码创建了列
Dim NewImageProd As New DataGridViewImageColumn
NewImageProd.Image = My.Resources.Smile1
NewImageProd.Name = "IMAGE"
NewImageProd.ImageLayout = DataGridViewImageCellLayout.Zoom
NewImageProd.DisplayIndex = 0
NewImageProd.Width = 70
DGDati.Columns.Add(NewImageProd)
后来我用这段代码完成了检查
For Idx = 0 To DGDati.RowCount - 1
Select Case DGDati("OTHERVALUE", Idx).Value.ToString
Case "OK"
DGDati.Rows(Idx).Cells("IMAGE").Value = My.Resources.Smile2
Case "NO"
DGDati.Rows(Idx).Cells("IMAGE").Value = My.Resources.Smile3
End Select
Next
Call DGDati.RefreshEdit()
但是什么也没发生。 我做错了什么?
【问题讨论】:
-
在比较之前尝试修剪字符串。
-
@preciousbetine 进入Case,但没有设置新值:/
-
永远不要像那样重复使用资源中的图像。
Resources是工厂而不是集合。这意味着它每次都在创建一个新的、唯一的对象,这太过分了,并导致您的应用程序泄漏。将它们存储在一个 n 数组中并从那里加载
标签: vb.net datagridviewimagecolumn