2015-06-24 24 views
0

我在名为DataGridView1的窗体窗体上添加了一个datagridview。以下代码添加了一列2列。我想在第二栏中显示图像。VB.NET:DataGridViewImageCell - 来自Ressource的图像?

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图片。

不幸的是,我尝试从资源(“GetObject”)加载图像失败,并且单元显示一个带有红色十字的页面符号。

我在资源中获得了我需要的所有图像。

我该如何做到这一点?

在此先感谢。

回答

1

如果您添加的图像资源,那么你就可以my.resources.ResourceName其中资源名称似乎是“ExistingRessource”你的情况

这可能是您当前的尝试失败,因为访问资源实际上没有正确添加,或者您的名称上拼写错误?无论哪种方式,如果您使用my.resources,您可以确定地看到资源已正确添加。

cellImage.Value = My.Resources.ExistingRessource 
+0

哦,是的,“我的”失踪了。谢谢,现在工作正常。 – DougyDoug