我在Windows窗体上添加了一个名为DataGridView1的datagridview。以下代码添加一行包含2列。我想在第二栏中显示一张图片。
Dim dt As New DataTable
dt.Columns.Add("TESTROW")
dt.Rows.Add("TESTCONTENT")
DataGridView1.DataSource = dt
Dim colImage As New DataGridViewImageColumn
DataGridView1.Columns.Add(colImage)
For intI As Integer = 0 To dt.Rows.Count
Dim cellImage As New DataGridViewImageCell
' THE FOLLOWING LINE WORKS FINE!!!!
cellImage.Value = Drawing.Image.FromFile("c:\foo\bar.gif")
' BUT WHY NOT THIS?
' cellImage.Value = Properties.Resources.ResourceManager.GetObject("ExistingRessource")
' OR THIS?
' cellImage.Value = CType(Properties.Resources.ResourceManager.GetObject("ExistingRessource"), Image)
cellImage.ImageLayout = DataGridViewImageCellLayout.Zoom
DataGridView1.Rows(intI).Cells(1) = cellImage
Next
如果我使用" fromFile"它可以正常工作使用图像的路径,第二列显示单元格内的gif图片。
不幸的是,我尝试从ressource加载图像(" GetObject")失败,单元格显示一个带有红叉的页面符号。
我在资源中获得了我需要的所有图像。
我怎样才能做到这一点?
提前致谢。
答案 0 :(得分:2)
如果您已将图像添加到资源,则可以使用my.resources.ResourceName访问它,其中ResourceName似乎是" ExistingRessource"在你的情况下
您当前的尝试可能会失败,因为资源实际上没有正确添加,或者您的名称拼写错误了吗?无论哪种方式,如果您使用my.resources,您都可以确定该资源已正确添加。
cellImage.Value = My.Resources.ExistingRessource